QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#858010#147. Floppybinminh01Compile Error//C++239.4kb2025-01-16 12:16:242025-01-16 12:16:25

Judging History

你现在查看的是最新测评结果

  • [2025-01-16 12:16:25]
  • 评测
  • [2025-01-16 12:16:24]
  • 提交

floppy

#include<bits/allocator.h>
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx2,fma,bmi,bmi2,popcnt,lzcnt")

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define int128 __int128_t
#define double long double
#define gcd __gcd
#define lcm(a, b) ((a)/gcd(a, b)*(b))
#define sqrt sqrtl
#define log2 log2l
#define log10 log10l
#define floor floorl
#define to_string str
#define yes cout << "YES"
#define no cout << "NO"
#define trav(i, a) for (auto &i: (a))
#define all(a) (a).begin(), (a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define sz(a) (int)a.size()
#define Max(a) *max_element(all(a))
#define Min(a) *min_element(all(a))
#define Find(a, n) (find(all(a), n) - a.begin())
#define Count(a, n) count(all(a), n)
#define Upper(a, n) (upper_bound(all(a), n) - a.begin())
#define Lower(a, n) (lower_bound(all(a), n) - a.begin())
#define next_perm(a) next_permutation(all(a))
#define prev_perm(a) prev_permutation(all(a))
#define sorted(a) is_sorted(all(a))
#define sum(a) accumulate(all(a), 0)
#define sumll(a) accumulate(all(a), 0ll)
#define Sort(a) sort(all(a))
#define Reverse(a) reverse(all(a))
#define Unique(a) Sort(a), (a).resize(unique(all(a)) - a.begin())
#define pb push_back
#define eb emplace_back
#define popcount __builtin_popcount
#define popcountll __builtin_popcountll
#define clz __builtin_clz
#define clzll __buitlin_clzll
#define ctz __builtin_ctz
#define ctzll __builtin_ctzll
#define open(s) freopen(s, "r", stdin)
#define write(s) freopen(s, "w", stdout)
#define fileopen(s) open((string(s) + ".inp").c_str()), write((string(s) + ".out").c_str());
#define For(i, a, b) for (auto i = (a); i < (b); ++i)
#define Fore(i, a, b) for (auto i = (a); i >= (b); --i)
#define FOR(i, a, b) for (auto i = (a); i <= (b); ++i)
#define ret(s) return void(cout << s);

constexpr int mod = 1e9 + 7, mod2 = 998244353;
constexpr double eps = 1e-9;
const double PI = acos(-1);
constexpr ull npos = string::npos;
constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using cd = complex<double>;
mt19937 mt(chrono::system_clock::now().time_since_epoch().count());
mt19937_64 mt64(chrono::system_clock::now().time_since_epoch().count());
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vll;
typedef vector<vll> vvll;
typedef vector<double> vdo;
typedef vector<vdo> vvdo;
typedef vector<string> vs;
typedef vector<pii> vpair;
typedef vector<vpair> vvpair;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<char> vc;
typedef vector<vc> vvc;
typedef vector<cd> vcd;
typedef priority_queue<int> pq;
typedef priority_queue<int, vi, greater<int>> pqg;
typedef priority_queue<ll> pqll;
typedef priority_queue<ll, vll, greater<ll>> pqgll;

ll add(ll a, ll b, int m) {a = (a >= m ? a % m: a);b = (b >= m ? b % m: b);a+=b;return a >= m ? a - m: a;}
ll sub(ll a, ll b, int m) {a = (a >= m ? a % m: a);b = (b >= m ? b % m: b);a-=b;return a < 0 ? a + m: a;}
ll mul(ll a, ll b, int m) {a = (a >= m ? a % m: a);b = (b >= m ? b % m: b);return a*b % m;}
ll bin_mul(ll a, ll b, ll m) {a = (a >= m ? a % m: a);b = (b >= m ? b % m: b);ll x = 0;while (b) {if (b & 1) x = (x + a) % m;a = (a + a) % m;b>>=1;}return x;}
ll bin_pow(ll a, ll b, ll m) {ll x = 1;a = (a >= m ? a % m: a); while (b) {if (b & 1) x = bin_mul(x, a, m);a = bin_mul(a, a, m);b>>=1;}return x;}
ll power(ll a, ll b, int m) {ll x = 1;a = (a >= m ? a % m: a); while (b) {if (b & 1) x = x*a % m;a = a*a % m;b>>=1;}return x;}
ll power(ll a, ll b) {ll x = 1;while (b) {if (b & 1) x = x*a;a = a*a;b>>=1;}return x;}
ll ceil(ll a, ll b) {return (a + b - 1)/b;}
ll to_int(const string &s) {ll x = 0; for (int i = (s[0] == '-'); i < sz(s); ++i) x = x*10 + s[i] - '0';return x*(s[0] == '-' ? -1: 1);}
bool is_prime(ll n) {if (n < 2) return 0;if (n < 4) return 1;if (n % 2 == 0 || n % 3 == 0) return 0;for (ll i = 5; i*i <= n; i+=6) {if(n % i == 0 || n % (i + 2) == 0) return 0;}return 1;}
bool is_square(ll n) {ll k = sqrt(n); return k*k == n;}
ll factorial(int n) {ll x = 1;for (int i = 2; i <= n; ++i) x*=i;return x;}
ll factorial(int n, int m) {ll x = 1;for (ll i = 2; i <= n; ++i) x = x*i % m;return x;}
bool is_power(ll n, ll k) {while (n % k == 0) n/=k;return n == 1ll;}
string str(ll n) {if (n == 0) return "0"; string s = ""; bool c = 0; if (n < 0) c = 1, n = -n; while (n) {s+=n % 10 + '0'; n/=10;} if (c) s+='-'; Reverse(s); return s;}
string repeat(const string &s, int n) {if (n < 0) return ""; string x = ""; while (n--) x+=s; return x;}
string bin(ll n) {string s = ""; while (n) {s+=(n & 1) + '0'; n>>=1;} Reverse(s); return s;}
void sieve(vector<bool> &a) {int n = a.size(); a[0] = a[1] = 0; for (int i = 4; i < n; i+=2) a[i] = 0; for (int i = 3; i*i < n; i+=2) {if (a[i]) {for (int j = i*i; j < n; j+=(i << 1)) a[j] = 0;}}}
void sieve(bool a[], int n) {a[0] = a[1] = 0; for (int i = 4; i < n; i+=2) a[i] = 0; for (int i = 3; i*i < n; i+=2) {if (a[i]) {for (int j = i*i; j < n; j+=(i << 1)) a[j] = 0;}}}
void sieve(vector<int> &a) {int n = a.size(); for (int i = 2; i < n; i+=2) a[i] = 2; for (int i = 3; i*i < n; i+=2) {if (!a[i]) {for (int j = i; j < n; j+=(i << 1)) a[j] = i;}} for (int i = 3; i < n; i+=2) {if (!a[i]) a[i] = i;}}
void sieve(int a[], int n) {for (int i = 2; i < n; i+=2) a[i] = 2; for (int i = 3; i*i < n; i+=2) {if (!a[i]) {for (int j = i; j < n; j+=(i << 1)) a[j] = i;}} for (int i = 3; i < n; i+=2) {if (!a[i]) a[i] = i;}}
vector<pii> factorize(int n) {vector<pii> a; for (int i = 2; i*i <= n; ++i) {if (n % i == 0) {int k = 0; while (n % i == 0) ++k, n/=i; a.emplace_back(i, k);}} if (n > 1) a.emplace_back(n, 1); return a;}
int rand(int l, int r) {return uniform_int_distribution<int>(l, r)(mt);}
ll rand(ll l, ll r) {return uniform_int_distribution<ll>(l, r)(mt64);}
int Log2(int n) {return 31 - __builtin_clz(n);}
ll Log2(ll n) {return 63 - __builtin_clzll(n);}
template<class T> void compress(vector<T> &a) {vector<T> b; for (T &i: a) b.push_back(i); sort(all(b)); b.resize(unique(all(b)) - b.begin()); for (T &i: a) i = lower_bound(all(b), i) - b.begin();}
template<class A, class B> bool ckmin(A &a, const B &b) {return a > b ? a = b, 1: 0;}
template<class A, class B> bool ckmax(A &a, const B &b) {return a < b ? a = b, 1: 0;}

template<class A, class B> istream& operator>>(istream& in, pair<A, B> &p) {in >> p.first >> p.second; return in;}
template<class A, class B> ostream& operator<<(ostream& out, const pair<A, B> &p) {out << p.first << ' ' << p.second; return out;}
template<class T> istream& operator>>(istream& in, vector<T> &a) {for (auto &i: a) in >> i; return in;}
template<class T> ostream& operator<<(ostream& out, const vector<T> &a) {for (auto &i: a) out << i << ' '; return out;}
template<class T> istream& operator>>(istream& in, vector<vector<T>> &a) {for (auto &i: a) in >> i; return in;}
template<class T> ostream& operator<<(ostream& out, const vector<vector<T>> &a) {for (auto &i: a) out << i << '\n'; return out;}
template<class T> istream& operator>>(istream& in, deque<T> &a) {for (auto &i: a) in >> i; return in;}
template<class T> ostream& operator<<(ostream& out, const deque<T> &a) {for (auto &i: a) out << i << ' '; return out;}
// istream& operator>>(istream& in, __int128_t &a) {string s; in >> s; a = 0; for (auto &i: s) a = a*10 + (i - '0'); return in;}
// ostream& operator<<(ostream& out, __int128_t a) {string s = ""; if (a < 0) s+='-', a = -a; if (a == 0) s+='0'; while (a > 0) {s+=(int)(a % 10) + '0'; a/=10;} Reverse(s); out << s; return out;}

#include "floppy.h"
void read_array(int subtask_id, const vi &a) {
    int n = sz(a);
    vector<vpair> s(16, vpair(n));
    For(i,0,n) s[0][i] = {a[i], i};
    For(i,1,16) {
        FOR(j,0,n-(1<<i)) s[i][j] = max(s[i - 1][j], s[i - 1][j + (1 << (i - 1))]);
    }
    auto get = [&](int l, int r) {
        int i = __lg(r - l + 1);
        return max(s[i][l], s[i][r - (1 << i) + 1]).second;
    };
    string t;
    auto dfs = [&](auto &&dfs, int l, int r)->void{
        int i = get(l, r);
        t+='0' + (l < i); t+='0' + (i < r);
        if (l < i) dfs(dfs, l, i - 1);
        if (i < r) dfs(dfs, i + 1, r);
    };
    dfs(dfs, 0, n - 1);
    save_to_floppy(t);
}
vi solve_queries(int subtask_id, int n, const string &t, const vi &a, const vi &b) {
    vvi p(16, vi(n)), g(n);
    vi h(n);
    int k = 0, x = 0;
    auto dfs = [&](auto &&dfs, int i)->pii{
        //{size, vertex}
        k+=2;
        int u = 0, w = 1;
        if (t[i] == '0') u = x;
        else {
            auto [s, v] = dfs(dfs, i + 2);
            w+=s;
            u = x;
            p[0][v] = u; g[u].pb(v);
        }
        ++x;
        if (t[i + 1] == '1') {
            auto [s, v] = dfs(dfs, k);
            w+=s;
            p[0][v] = u; g[u].pb(v);
        }
        return {w, u};
    };
    dfs(dfs, 0);
    auto high = [&](auto &&high, int u)->void{
        trav(v,g[u]) h[v] = h[u] + 1, high(high, v);
    };
    high(high, 0);
    For(i,1,16) For(j,0,n) p[i][j] = p[i - 1][p[i - 1][j]];
    auto lca = [&](int u, int v)->int{
        if (h[u] < h[v]) swap(u, v);
        int d = h[u] - h[v];
        Fore(i,15,0) if (d >> i & 1) u = p[i][u];
        if (u == v) return u;
        Fore(i,15,0){
            if (p[i][u] != p[i][v]) u = p[i][u], v = p[i][v];
        }
        return p[0][u];
    };
    vi c(sz(a));
    For(i,0,sz(a)) c[i] = lca(a[i], b[i]);
    return c;
}

詳細信息

floppy.code:54:1: error: ‘constexpr’ does not name a type
   54 | constexpr int mod = 1e9 + 7, mod2 = 998244353;
      | ^~~~~~~~~
floppy.code:54:1: note: C++11 ‘constexpr’ only available with ‘-std=c++11’ or ‘-std=gnu++11’
floppy.code:55:1: error: ‘constexpr’ does not name a type
   55 | constexpr double eps = 1e-9;
      | ^~~~~~~~~
floppy.code:55:1: note: C++11 ‘constexpr’ only available with ‘-std=c++11’ or ‘-std=gnu++11’
floppy.code:57:1: error: ‘constexpr’ does not name a type
   57 | constexpr ull npos = string::npos;
      | ^~~~~~~~~
floppy.code:57:1: note: C++11 ‘constexpr’ only available with ‘-std=c++11’ or ‘-std=gnu++11’
floppy.code:58:1: error: ‘constexpr’ does not name a type
   58 | constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};
      | ^~~~~~~~~
floppy.code:58:1: note: C++11 ‘constexpr’ only available with ‘-std=c++11’ or ‘-std=gnu++11’
floppy.code:58:49: error: expected unqualified-id before ‘,’ token
   58 | constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};
      |                                                 ^
floppy.code:58:56: error: expected constructor, destructor, or type conversion before ‘=’ token
   58 | constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};
      |                                                        ^
floppy.code:59:7: error: expected nested-name-specifier before ‘pii’
   59 | using pii = pair<int, int>;
      |       ^~~
floppy.code:60:7: error: expected nested-name-specifier before ‘pll’
   60 | using pll = pair<ll, ll>;
      |       ^~~
floppy.code:61:7: error: expected nested-name-specifier before ‘cd’
   61 | using cd = complex<double>;
      |       ^~
floppy.code:62:1: error: ‘mt19937’ does not name a type
   62 | mt19937 mt(chrono::system_clock::now().time_since_epoch().count());
      | ^~~~~~~
floppy.code:63:1: error: ‘mt19937_64’ does not name a type
   63 | mt19937_64 mt64(chrono::system_clock::now().time_since_epoch().count());
      | ^~~~~~~~~~
floppy.code:71:16: error: ‘pii’ was not declared in this scope
   71 | typedef vector<pii> vpair;
      |                ^~~
floppy.code:71:19: error: template argument 1 is invalid
   71 | typedef vector<pii> vpair;
      |                   ^
floppy.code:71:19: error: template argument 2 is invalid
floppy.code:77:16: error: ‘cd’ was not declared in this scope; did you mean ‘gcd’?
   77 | typedef vector<cd> vcd;
      |                ^~
      |                gcd
floppy.code:77:18: error: template argument 1 is invalid
   77 | typedef vector<cd> vcd;
      |                  ^
floppy.code:77:18: error: template argument 2 is invalid
floppy.code:79:44: error: ‘>>’ should be ‘> >’ within a nested template argument list
   79 | typedef priority_queue<int, vi, greater<int>> pqg;
      |                                            ^~
      |                                            > >
floppy.code:81:43: error: ‘>>’ should be ‘> >’ within a nested template argument list
   81 | typedef priority_queue<ll, vll, greater<ll>> pqgll;
      |                                           ^~
      |                                           > >
floppy.code:104:8: error: ‘pii’ was not declared in this scope
  104 | vector<pii> factorize(int n) {vector<pii> a; for (int i = 2; i*i <= n; ++i) {if (n % i == 0) {int k = 0; while (n % i == 0) ++k, n/=i; a.emplace_back(i, k);}} if (n > 1) a.emplace_back(n, 1); return a;}
      |        ^~~
floppy.code:104:11: error: template argument 1 is invalid
  104 | vector<pii> factorize(int n) {vector<pii> a; for (int i = 2; i*i <= n; ++i) {if (n % i == 0) {int k = 0; while (n % i == 0) ++k, n/=i; a.emplace_back(i, k);}} if (n > 1) a.emplace_back(n, 1); return a;}
      |           ^
floppy.code:104:11: error: template argument 2 is invalid
floppy.code: In function ‘int factorize(int)’:
floppy.code:104:38: error: ‘pii’ was not declared in this scope
  104 | vector<pii> factorize(int n) {vector<pii> a; for (int i = 2; i*i <= n; ++i) {if (n % i == 0) {int k = 0; while (n % i == 0) ++k, n/=i; a.emplace_back(i, k);}} if (n > 1) a.emplace_back(n, 1); return a;}
      |                                      ^~~
floppy.code:104:41: error: template argument 1 is invalid
  104 | vector<pii> factorize(int n) {vector<pii> a; for (int i = 2; i*i <= n; ++i) {if (n % i == 0) {int k = 0; while (n % i == 0) ++k, n/=i; a.emplace_back(i, k);}} if (n > 1) a.emplace_back(n, 1); return a;}
      |                                         ^
floppy.code:104:41: error: template argument 2 is invalid
floppy.code:104:138: error: request for member ‘emplace_back’ in ‘a’, which is of non-class type ‘int’
  104 | vector<pii> factorize(int n) {vector<pii> a; for (int i = 2; i*i <= n; ++i) {if (n % i == 0) {int k = 0; while (n % i == 0) ++k, n/=i; a.emplace_back(i, k);}} if (n > 1) a.emplace_back(n, 1); return a;}
      |                                                                                          ...