QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#101741 | #3859. Organizing SWERC | PetroTarnavskyi# | Compile Error | / | / | C++17 | 2.8kb | 2023-04-30 23:50:58 | 2023-04-30 23:51:02 |
Judging History
This is the latest submission verdict.
- [2023-08-10 23:21:45]
- System Update: QOJ starts to keep a history of the judgings of all the submissions.
- [2023-04-30 23:51:02]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [2023-04-30 23:50:58]
- Submitted
answer
#include <bits/stdc++.h>
using namespace std;
#define SZ(a) (int)a.size()
#define ALL(a) a.begin(), a.end()
#define FOR(i, a, b) for (int i = (a); i<(b); ++i)
#define RFOR(i, b, a) for (int i = (b)-1; i>=(a); --i)
#define MP make_pair
#define PB push_back
#define F first
#define S second
typedef long long LL;
typedef pair<int, int> PII;
typedef vector<int> VI;
const int N = 16'000'000;
vector<PII> g[N];
int I = 0;
struct Segtree
{
int n;
VI t;
void init(int nn)
{
n = 1;
while (n < nn) n *= 2;
t.resize(n * 2 - 1);
}
void build(int v, int l, int r, VI& idx)
{
if (l + 1 == r)
{
if (l < SZ(idx))
t[v] = idx[l];
else
t[v] = I++;
return;
}
t[v] = I++;
int m = (l + r) / 2;
build(v * 2 + 1, l, m);
build(v * 2 + 2, m, r);
g[t[v]].PB({t[v * 2 + 1], 0});
g[t[v]].PB({t[v * 2 + 2], 0});
}
void build(int nn, VI& idx)
{
init(nn);
build(0, 0, n, idx);
}
void add(int v, int tl, int tr, int l, int r, int x)
{
if (l >= tr || tl >= r) return;
if (l <= tl && tr <= r)
{
g[x].PB({t[v], 1});
return;
}
int m = (tl + tr) / 2;
add(v * 2 + 1, tl, m, l, r, x);
add(v * 2 + 2, m, tr, l, r, x);
}
void add(int l, int r, int x)
{
return add(0, 0, n, l, r, x);
}
};
struct BigSegtree
{
struct Node
{
int idx;
VI vec;
Segtree st[2];
};
int n;
vector<Node> t;
void init(int nn)
{
n = 1;
while (n < nn) n *= 2;
t.resize(n);
}
void build(int v, int l, int r, vector<VI>& vec)
{
t[v].idx = I++;
if (l + 1 == r)
{
if (l < SZ(vec))
{
t[v].vec = vec[l];
FOR(T, 0, 2)
{
t[v].st[T].build(SZ(vec[l]));
}
}
return;
}
int m = (l + r) / 2;
build(v * 2 + 1, l, m, vec);
build(v * 2 + 1, m, r, vec);
}
void build(vector<VI>& vec)
{
init(SZ(vec));
build(0, 0, n, vec);
}
void add_edge(int v, int l, int r, int lx, int rx, int ly, int ry, int T, int i)
{
if (l >= rx || lx >= r) return;
if (l <= lx && rx <= r)
{
int L = lower_bount(ALL(t[v].idx), ly) - t[v].idx.begin();
int R = lower_bount(ALL(t[v].idx), ry) - t[v].idx.begin();
t[v].st[T].add(L, R, i);
return;
}
int m = (l + r) / 2;
add_edge(v * 2 + 1, l, m, lx, rx, ly, ry, T, i);
add_edge(v * 2 + 2, m, r, lx, rx, ly, ry, T, i);
}
void add_edge(int lx, int rx, int ly, int ry, int T, int i)
{
add_edge(0, 0, n, lx, rx, ly, ry, T, i);
}
};
void solve()
{
int n, a, b;
cin >> n >> a >> b;
a--, b--;
VI v(n);
vector<VI> vec(n);
FOR(i, 0, n) cin >> v[i];
FOR(i, 0, n)
{
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin >> t;
while (t--)
{
solve();
}
return 0;
}
详细
answer.code: In member function ‘void Segtree::build(int, int, int, VI&)’: answer.code:45:22: error: no matching function for call to ‘Segtree::build(int, int&, int&)’ 45 | build(v * 2 + 1, l, m); | ~~~~~^~~~~~~~~~~~~~~~~ answer.code:33:14: note: candidate: ‘void Segtree::build(int, int, int, VI&)’ 33 | void build(int v, int l, int r, VI& idx) | ^~~~~ answer.code:33:14: note: candidate expects 4 arguments, 3 provided answer.code:51:14: note: candidate: ‘void Segtree::build(int, VI&)’ 51 | void build(int nn, VI& idx) | ^~~~~ answer.code:51:14: note: candidate expects 2 arguments, 3 provided answer.code:46:22: error: no matching function for call to ‘Segtree::build(int, int&, int&)’ 46 | build(v * 2 + 2, m, r); | ~~~~~^~~~~~~~~~~~~~~~~ answer.code:33:14: note: candidate: ‘void Segtree::build(int, int, int, VI&)’ 33 | void build(int v, int l, int r, VI& idx) | ^~~~~ answer.code:33:14: note: candidate expects 4 arguments, 3 provided answer.code:51:14: note: candidate: ‘void Segtree::build(int, VI&)’ 51 | void build(int nn, VI& idx) | ^~~~~ answer.code:51:14: note: candidate expects 2 arguments, 3 provided answer.code: In member function ‘void BigSegtree::build(int, int, int, std::vector<std::vector<int> >&)’: answer.code:105:57: error: no matching function for call to ‘Segtree::build(int)’ 105 | t[v].st[T].build(SZ(vec[l])); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ answer.code:33:14: note: candidate: ‘void Segtree::build(int, int, int, VI&)’ 33 | void build(int v, int l, int r, VI& idx) | ^~~~~ answer.code:33:14: note: candidate expects 4 arguments, 1 provided answer.code:51:14: note: candidate: ‘void Segtree::build(int, VI&)’ 51 | void build(int nn, VI& idx) | ^~~~~ answer.code:51:14: note: candidate expects 2 arguments, 1 provided answer.code: In member function ‘void BigSegtree::add_edge(int, int, int, int, int, int, int, int, int)’: answer.code:5:18: error: request for member ‘begin’ in ‘((BigSegtree*)this)->BigSegtree::t.std::vector<BigSegtree::Node>::operator[](((std::vector<BigSegtree::Node>::size_type)v)).BigSegtree::Node::idx’, which is of non-class type ‘int’ 5 | #define ALL(a) a.begin(), a.end() | ^~~~~ answer.code:126:45: note: in expansion of macro ‘ALL’ 126 | int L = lower_bount(ALL(t[v].idx), ly) - t[v].idx.begin(); | ^~~ answer.code:5:29: error: request for member ‘end’ in ‘((BigSegtree*)this)->BigSegtree::t.std::vector<BigSegtree::Node>::operator[](((std::vector<BigSegtree::Node>::size_type)v)).BigSegtree::Node::idx’, which is of non-class type ‘int’ 5 | #define ALL(a) a.begin(), a.end() | ^~~ answer.code:126:45: note: in expansion of macro ‘ALL’ 126 | int L = lower_bount(ALL(t[v].idx), ly) - t[v].idx.begin(); | ^~~ answer.code:126:33: error: ‘lower_bount’ was not declared in this scope 126 | int L = lower_bount(ALL(t[v].idx), ly) - t[v].idx.begin(); | ^~~~~~~~~~~ answer.code:126:75: error: request for member ‘begin’ in ‘((BigSegtree*)this)->BigSegtree::t.std::vector<BigSegtree::Node>::operator[](((std::vector<BigSegtree::Node>::size_type)v)).BigSegtree::Node::idx’, which is of non-class type ‘int’ 126 | int L = lower_bount(ALL(t[v].idx), ly) - t[v].idx.begin(); | ^~~~~ answer.code:5:18: error: request for member ‘begin’ in ‘((BigSegtree*)this)->BigSegtree::t.std::vector<BigSegtree::Node>::operator[](((std::vector<BigSegtree::Node>::size_type)v)).BigSegtree::Node::idx’, which is of non-class type ‘int’ 5 | #define ALL(a) a.begin(), a.end() | ^~~~~ answer.code:127:45: note: in expansion of macro ‘ALL’ 127 | int R = lower_bount(ALL(t[v].idx), ry) - t[v].idx.begin(); | ^~~ answer.code:5:29: error: request for member ‘end’ in ‘((BigSegtree*)this)->BigSegtree::t.std::vector<BigSegtree::Node>::operator[](((std::vector<BigSegtree::Node>::size_type)v)).BigSegtree::Node::idx’, which is of non-class type ‘int’ 5 | #define ALL(a) a.begin(), a.end() | ^~~ answer.code:127:45: note: in expansion of macro ‘ALL’ 127 | int R = lower_bount(ALL(t[v].idx), ry) - t[v].idx.begin(); | ^~~ answer.code:127:75: error: request for member ‘begin’ in ‘((BigSegtree*)this)->BigSegtree::t...