提交记录 22017
提交时间 |
评测时间 |
2024-07-29 19:42:04 |
2024-07-29 19:42:11 |
#include <vector>
#include <algorithm>
using namespace std;
constexpr unsigned mask(unsigned x) { return x | x >> 10; }
constexpr unsigned kN = 1e7;
vector<unsigned> d[kN];
unsigned f[mask(kN) + 1];
void add(unsigned n, unsigned x) {
for (++x; x <= n; x += x & -x) {
++f[mask(x)];
}
}
unsigned sum(unsigned x) {
unsigned s = 0;
for (; x; x &= x - 1) {
s += f[mask(x)];
}
return s;
}
void count_2d(int n, const unsigned *x, const unsigned *y, unsigned *out) {
for (unsigned i = 0; i < n; ++i) {
d[x[i]].push_back(i);
}
for (unsigned i = 0; i < n; ++i) {
for (unsigned j : d[i]) {
out[j] = sum(y[j]);
}
for (unsigned j : d[i]) {
add(n, y[j]);
}
}
}
Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
Testcase #1 | 4.788 s | 483 MB + 248 KB | Runtime Error | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2025-07-15 14:24:05 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠