[CF]codeforces round#366(div2)滚粗记
2016-08-08 15:59
495 查看
开场心理活动:啊打完这场大概有1700了吧
中途心理活动:啊这个ABC看起来都随便做啊
死亡原因:欸怎么没网了
-75 。。
A
【题意】Hulk说完一句I hate会说that I love 然后是hate love循环。。
我前面大小写打错了以为自己过了样例又WA了一发
【题解】傻逼题
B
【题意】对于一堆大小为x石子,可以把他分成p,x-p两堆(p>0,x>p),先后手进行,无法操作的输,每次加进一堆石子,查询加上这堆之后的胜负情况
对于单个石子,只要查看x的奇偶性即可,但是由于多堆石子,看的是
的奇偶性
我前面看错题目了以为每堆石头是独立的
C
【题意】有n个应用,q个事件(n,q<=300000)
事件有三种:
1.应用i发出一条消息
2.读完所有应用t发出的消息
3.读完前t条(是严格的前i条发出的消息)
在每个事件发生之后,查询有几条未读消息
【题解】
设cnt表示一共发出了多少条消息
我们用一个树状数组记录读过的消息数量
操作1,2中,在vector上直接维护。特别的,因为操作3的前t条是全局的,那么我们每次计算有多少条消息未读时,只和到现在为止所有3操作的t中最大的有关,设最大值为pre。那么未读的消息数量就是
中途心理活动:啊这个ABC看起来都随便做啊
死亡原因:欸怎么没网了
-75 。。
A
【题意】Hulk说完一句I hate会说that I love 然后是hate love循环。。
我前面大小写打错了以为自己过了样例又WA了一发
【题解】傻逼题
B
【题意】对于一堆大小为x石子,可以把他分成p,x-p两堆(p>0,x>p),先后手进行,无法操作的输,每次加进一堆石子,查询加上这堆之后的胜负情况
对于单个石子,只要查看x的奇偶性即可,但是由于多堆石子,看的是
的奇偶性
我前面看错题目了以为每堆石头是独立的
int main(){ int n=gi; ll now=0; while(n--){ int a=gi;a=a-1; now+=a; if(now&1ll)puts("1"); else puts("2"); } return 0; }
C
【题意】有n个应用,q个事件(n,q<=300000)
事件有三种:
1.应用i发出一条消息
2.读完所有应用t发出的消息
3.读完前t条(是严格的前i条发出的消息)
在每个事件发生之后,查询有几条未读消息
【题解】
设cnt表示一共发出了多少条消息
我们用一个树状数组记录读过的消息数量
操作1,2中,在vector上直接维护。特别的,因为操作3的前t条是全局的,那么我们每次计算有多少条消息未读时,只和到现在为止所有3操作的t中最大的有关,设最大值为pre。那么未读的消息数量就是
vector<int>p[333333]; int bit[333333],n,q; int cnt=0,pre=0; void add(int x){ while(x<=300000){ bit[x]++; x+=x&-x; } } int sum(int x){ int ans=0; while(x>0){ ans+=bit[x]; x-=x&-x; } return ans; } int main(){ n=gi;q=gi; FOR1(i,q){ int tp=gi,t=gi; if(tp==1){ p[t].push_back(++cnt); } if(tp==2){ int sz=p[t].size(); FOR0(i,sz){ add(p[t][i]); } p[t].clear(); } if(tp==3)pre=max(pre,t); pre=min(pre,cnt); printf("%d\n",cnt-sum(cnt)+sum(pre)-pre); } }
相关文章推荐
- 【Author : DS】CF #140 非常好的一套CF题目,DIV1 的E题实在没辙
- Borya and Hanabi - CF#253 (Div. 2)C (442A) 状压暴力枚举
- cf 127 div .1 Fragile Bridges(dp 好题)
- cf 204 div2 D. Jeff and Furik 逆序对
- CF-Div2-207-C题+线段树
- 【CF】323 Div2. D. Once Again...
- CF #211 (Div. 2)--D. Renting Bikes
- CF 472 div1 D. Contact ATC
- CF219 Div 1 题解
- 【CF】Codeforces Round #301 (Div. 2) ABCDE
- CF 222 (DIV 1)
- CF 题目集锦 PART 3 #262 div 2 D
- Cf Round #360 (Div. 1) 687D Dividing Kingdom II
- CF 178(div 2)B(greedy + 枚举)
- [CF刷题]Codeforces Round #443 (Div. 2)
- 【CF】222 Div.1 B Preparing for the Contest
- CF 161 div2 D
- CF_#277.5_DIV2_A_B_C
- CF 189 div2 D
- CF#277.5 (Div. 2) A.(技巧题,类似动规)