提交记录 19004


用户 题目 状态 得分 用时 内存 语言 代码长度
Saisyc 1008. 测测你的二维数点 Runtime Error 0 11.148 ms 101128 KB C++11 555 B
提交时间 评测时间
2023-02-04 19:31:24 2023-02-04 19:31:26
#include <vector> 

const int N = 1 << 22;
std::vector<int> v[N];
int tree[N];

void count_2d(int n, const unsigned int * x, const unsigned int * y, unsigned int * out) {
	if (n > N) {
		n = N;
	}
	for (int i = 0; i < n; ++i) {
		v[x[i]].push_back(i);
	}
	for (int i = 0; i < n; ++i) {
		for (auto j : v[i]) {
			int answer = 0;
			for (int k = y[j]; k > 0; k = k - (k & -k)) {
				answer = answer + tree[k];
			}
			out[j] = answer;
		}
		for (auto j : v[i]) {
			for (int k = y[j] + 1; k < n; k = k + (k & -k)) {
				tree[k] = tree[k] + 1;
			}
		}
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #111.148 ms98 MB + 776 KBRuntime ErrorScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2025-09-16 06:53:30 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠