提交记录 3599


用户 题目 状态 得分 用时 内存 语言 代码长度
mathematician noi17a. 【NOI2017】整数 Time Limit Exceeded 84 2 s 326488 KB C++ 1.24 KB
提交时间 评测时间
2018-07-16 20:39:32 2020-07-31 21:20:30
#include <cstdio>
#include <algorithm>
#include <set>
#define N 1000001
#define M 33000001
using namespace std;
int n,m;
int bit1[M],bit2[M];
set<int> bit;
void modify1(int pos){
	bit1[pos] ^= 1;
	if(bit.find(pos) != bit.end())bit.erase(pos);
	else bit.insert(pos);
}
void modify2(int pos){
	bit2[pos] ^= 1;
	if(bit.find(pos) != bit.end())bit.erase(pos);
	else bit.insert(pos);
}
void add1(int pos){
	for(;bit1[pos];pos++)modify1(pos);
	modify1(pos);
}
void add2(int pos){
	for(;bit2[pos];pos++)modify2(pos);
	modify2(pos);
}
int query(int pos){
	set<int>::iterator it = bit.lower_bound(pos);
	it--;
	if(*it == -1)return bit1[pos] ^ bit2[pos];
	else {
		if(bit1[*it] > bit2[*it])return bit1[pos] ^ bit2[pos];
		else return bit1[pos] ^ bit2[pos] ^ 1;
	}
}
int main(){
	int t1,t2,t3;
	scanf("%d%d%d%d",&n,&t1,&t2,&t3),m = 31 * n,bit.insert(-1);
	for(int i=0;i<m;i++)bit1[i] = bit2[i] = 0;
	for(int i=0;i<n;i++){
		int type;
		scanf("%d",&type);
		if(type == 1){
			int val,pos;
			scanf("%d%d",&val,&pos);
			if(val > 0) for(int k=0;val >> k;k++) if((val >> k) & 1)add1(pos + k);
			if(val < 0) {
				val = -val;
				for(int k=0;val >> k;k++) if((val >> k) & 1)add2(pos + k);
			}
		}
		else{
			int pos;
			scanf("%d",&pos);
			printf("%d\n",query(pos));
		}
	}
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #125.84 us40 KBAcceptedScore: 4

Testcase #2223.69 us60 KBAcceptedScore: 4

Testcase #33.696 ms520 KBAcceptedScore: 4

Testcase #41.411 ms1 MB + 48 KBAcceptedScore: 4

Testcase #59.903 ms1 MB + 484 KBAcceptedScore: 4

Testcase #61.876 ms1 MB + 1012 KBAcceptedScore: 4

Testcase #714.437 ms3 MB + 104 KBAcceptedScore: 4

Testcase #819.099 ms2 MB + 632 KBAcceptedScore: 4

Testcase #952.553 ms10 MB + 340 KBAcceptedScore: 4

Testcase #1092.628 ms14 MB + 312 KBAcceptedScore: 4

Testcase #11116.008 ms15 MB + 624 KBAcceptedScore: 4

Testcase #1217.321 ms15 MB + 988 KBAcceptedScore: 4

Testcase #13136.614 ms23 MB + 968 KBAcceptedScore: 4

Testcase #14389.513 ms68 MB + 636 KBAcceptedScore: 4

Testcase #1590.652 ms73 MB + 572 KBAcceptedScore: 4

Testcase #16846.839 ms137 MB + 228 KBAcceptedScore: 4

Testcase #171.124 s129 MB + 820 KBAcceptedScore: 4

Testcase #181.281 s205 MB + 708 KBAcceptedScore: 4

Testcase #191.519 s239 MB + 892 KBAcceptedScore: 4

Testcase #20598.166 ms208 MB + 152 KBAcceptedScore: 4

Testcase #21304.275 ms220 MB + 608 KBAcceptedScore: 4

Testcase #222 s241 MB + 80 KBTime Limit ExceededScore: 0

Testcase #232 s273 MB + 464 KBTime Limit ExceededScore: 0

Testcase #242 s256 MB + 112 KBTime Limit ExceededScore: 0

Testcase #252 s318 MB + 856 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-18 07:29:37 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠