提交记录 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;//拜拜程序~
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 21.07 us | 32 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #2 | 50.97 us | 32 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #3 | 406.01 us | 32 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #4 | 835.21 us | 40 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #5 | 1.052 ms | 40 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #6 | 1.303 ms | 52 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #7 | 2.014 ms | 212 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #8 | 1.898 ms | 56 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #9 | 7.063 ms | 632 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #10 | 10.132 ms | 364 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #11 | 11.916 ms | 172 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #12 | 12.553 ms | 1012 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #13 | 17.436 ms | 1 MB + 392 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #14 | 52.735 ms | 3 MB + 952 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #15 | 62.516 ms | 4 MB + 464 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #16 | 109.06 ms | 7 MB + 844 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #17 | 109.293 ms | 1 MB + 160 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #18 | 176.135 ms | 11 MB + 728 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #19 | 215.927 ms | 13 MB + 680 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #20 | 444.227 ms | 17 MB + 860 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #21 | 220.411 ms | 13 MB + 300 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #22 | 208.412 ms | 2 MB + 128 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #23 | 221.265 ms | 6 MB + 40 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #24 | 223.874 ms | 2 MB + 268 KB | Accepted | Score: 4 | 显示更多 |
| Testcase #25 | 324.584 ms | 19 MB + 488 KB | Accepted | Score: 4 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-07-14 06:07:11 | Loaded in 2 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠