今晚 ABC C 题解
2026-08-09 09:44:01
发布于:浙江
个人感觉 C 是妙妙题,为啥都不做 C 我感觉 C 比以往简单(?)
首先,肯定不能每次修改之后 更新答案。注意到一个数异或两次同一个数值不变。那么对于查询 的更新即可做到 。
来看查询 。
考虑用一个数据结构来维护所有需要修改的值。发现删除与插入十分频繁,所以我们可以使用链表维护所有大于等于 的值。对于每一次更新,若当前值更新后为 则从链表中删除,更新方式与查询 相同。关于具体复杂度,不难发现查询 的时间复杂度与查询 相关。最多有 次查询 ,所以查询 的单次最坏复杂度为 ,均摊后为
整体我们用一个变量维护异或和。那么代码易得。
#include <iostream>
#include <list>
int n,a[500005]={},vis[500005],cnt=0,q;
int main(){
std::list<int> lst;
std::cin >> n >> q;
while(q--){
int op;
std::cin >> op;
if(op==1){
int x;
std::cin >> x;
int t=a[x];
a[x]++;
cnt^=t;
cnt^=a[x];
if(t==0){
lst.push_back(x);
}
}else{
for(auto i=lst.begin();i!=lst.end();){
int t=a[*i];
a[*i]--;
cnt^=t;
cnt^=a[*i];
if(!a[*i])i=lst.erase(i);
else i++;
}
}std::cout << cnt << "\n";
}
return 0;
}
总复杂度
全部评论 9
- 置顶
d
2026-08-08 来自 浙江
0C是神秘题目,比D神秘
2026-08-08 来自 广东
0C 的话查询 2 的时间复杂度不太清楚,但既然能过应该是常数(?)
2026-08-08 来自 浙江
0是的,查询二跟查询一相关,查询一最多有Q个,用一个vector记录查询一就行,纯线性
2026-08-08 来自 广东
0
牢师对势能分析的解释:你可以爬楼跳楼,你跳楼的速度很快,但是你每一次只能爬一层楼
2026-08-09 来自 浙江
1?是学势能线段树吗
2026-08-09 来自 上海
0势能线段树是啥,不是势能分析然后线段树吗
2026-08-09 来自 浙江
0那不就是势能线段树吗

2026-08-09 来自 上海
0
我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C 我不会切 C
2026-08-08 来自 广东
1
2026-08-09 来自 重庆
0你是不是没注意到初始全为
2026-08-09 来自 浙江
0我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D 我不会切 D
2026-08-09 来自 浙江
0
我怎么连A都没对
2026-08-09 来自 浙江
0P 吧
2026-08-09 来自 浙江
0我没打当然没对
2026-08-09 来自 浙江
0看我写个D
2026-08-09 来自 浙江
0
呜呜呜掉分了
2026-08-09 来自 上海
0rk3235输
2026-08-09 来自 上海
0unrated 赢 赢 赢(
2026-08-09 来自 浙江
0下把我必须unr
2026-08-09 来自 上海
0
我们 ACGO 是要凑出来 ABCDEFG 的题解吗
2026-08-09 来自 浙江
00 个人会写 AB 题解、
2026-08-09 来自 浙江
0求给个EF题解链接
2026-08-09 来自 上海
0111
2026-08-09 来自 上海
0
哥们你ID啥来着
2026-08-09 来自 浙江
0https://atcoder.jp/users/Moons_Seeker
2026-08-09 来自 浙江
0thx
2026-08-09 来自 浙江
0好阴险,竟然 unrated
2026-08-09 来自 浙江
0
不会 C 我是不是废了
2026-08-09 来自 浙江
0能切 G 的别叫
2026-08-09 来自 浙江
0555 我 ABC 已经只会 AB 了
2026-08-09 来自 浙江
0
orz
2026-08-08 来自 上海
0我不会做 D 拜谢会做 D 的
2026-08-08 来自 浙江
18===D
2026-08-09 来自 重庆
0如何获得省一
2026-08-09 来自 浙江
0

































有帮助,赞一个