提交记录 29139


用户 题目 状态 得分 用时 内存 语言 代码长度
Dr_mark noi17a. 【NOI2017】整数 Accepted 100 444.227 ms 19944 KB C++ 1.54 KB
提交时间 评测时间
2026-07-04 15:34:37 2026-07-04 15:34:48
#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;const int N=1e6+10;typedef unsigned int uit;
uit inc[N];uit dec[N];set <int> s;int n;int t1;int t2;int t3;
int main()
{
	scanf("%d%d%d%d",&n,&t1,&t2,&t3);set <int>::iterator it;
	for(int i=1,t,a,b;i<=n;i++)
	{
		scanf("%d",&t);
		if(t==1)
		{
			scanf("%d%d",&a,&b);int p=b/32;int q=b%32;//先转换成块上位置 
			if(a>0)
			{
				uit st=(uit)a<<q;uit ic=(uit)a>>(31-q);ic>>=1;//无脑高精加 
				uit od=inc[p];inc[p]+=st;ic+=(od>inc[p]);//处理下set 
				if(inc[p]^dec[p])s.insert(p);else if(s.count(p))s.erase(p);p++;
				while(ic!=0)
				{
					od=inc[p];inc[p]+=ic;ic=(od>inc[p]);//判断进位 
					if(inc[p]^dec[p])s.insert(p);else if(s.count(p))s.erase(p);p++;
				}
			}
			else if(a<0)//负的是一样的 
			{
				a=-a;
				uit st=(uit)a<<q;uit ic=(uit)a>>(31-q);ic>>=1;//这里提取不出来>>32可以>>31然后>>1 
				uit od=dec[p];dec[p]+=st;ic+=(od>dec[p]);
				if(inc[p]^dec[p])s.insert(p);else if(s.count(p))s.erase(p);p++;
				while(ic!=0)
				{
					od=dec[p];dec[p]+=ic;ic=(od>dec[p]);
					if(inc[p]^dec[p])s.insert(p);else if(s.count(p))s.erase(p);p++;
				}
			}
		}
		else 
		{
			scanf("%d",&b);int p=b/32;int q=b%32;int ans=((inc[p]>>q)^(dec[p]>>q))&1;//两个位置无脑相减 
			uit v1=inc[p]%(1<<q);uit v2=dec[p]%(1<<q);//提取非整段部分 
			if(v1<v2){printf("%d\n",ans^1);}//需要借位 
			else if(v1>v2||s.empty()||p<=*(s.begin())){printf("%d\n",ans);}//判断下无需借位的情况 
			else 
			{
				it=s.lower_bound(p);--it;//lower_bound出前驱(自己的不严格后继--) 
				if(inc[*it]>dec[*it]){printf("%d\n",ans);}//比较大小 
				else {printf("%d\n",ans^1);}//输出 
			}
		}
	}return 0;//拜拜程序~ 
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #121.07 us32 KBAcceptedScore: 4

Testcase #250.97 us32 KBAcceptedScore: 4

Testcase #3406.01 us32 KBAcceptedScore: 4

Testcase #4835.21 us40 KBAcceptedScore: 4

Testcase #51.052 ms40 KBAcceptedScore: 4

Testcase #61.303 ms52 KBAcceptedScore: 4

Testcase #72.014 ms212 KBAcceptedScore: 4

Testcase #81.898 ms56 KBAcceptedScore: 4

Testcase #97.063 ms632 KBAcceptedScore: 4

Testcase #1010.132 ms364 KBAcceptedScore: 4

Testcase #1111.916 ms172 KBAcceptedScore: 4

Testcase #1212.553 ms1012 KBAcceptedScore: 4

Testcase #1317.436 ms1 MB + 392 KBAcceptedScore: 4

Testcase #1452.735 ms3 MB + 952 KBAcceptedScore: 4

Testcase #1562.516 ms4 MB + 464 KBAcceptedScore: 4

Testcase #16109.06 ms7 MB + 844 KBAcceptedScore: 4

Testcase #17109.293 ms1 MB + 160 KBAcceptedScore: 4

Testcase #18176.135 ms11 MB + 728 KBAcceptedScore: 4

Testcase #19215.927 ms13 MB + 680 KBAcceptedScore: 4

Testcase #20444.227 ms17 MB + 860 KBAcceptedScore: 4

Testcase #21220.411 ms13 MB + 300 KBAcceptedScore: 4

Testcase #22208.412 ms2 MB + 128 KBAcceptedScore: 4

Testcase #23221.265 ms6 MB + 40 KBAcceptedScore: 4

Testcase #24223.874 ms2 MB + 268 KBAcceptedScore: 4

Testcase #25324.584 ms19 MB + 488 KBAcceptedScore: 4


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