CSP 2025退役记
AboutToAFO · · 生活·游记
被众多大佬游记破防的建议看看这篇
省流:寄了。
初赛 day -1
初赛的记忆早已消失,无所谓,反正初赛过了就行了
进入初三,学业压力明显上来了,初赛知识点几乎没有复习。
还不是在学校狂写作业写完了结果回家也不学 OI 就在那摸鱼
考前一天才翻出各种资料,复习了啥也忘记了总之就是背的没考考的没背
初赛 day 0
J组
今年J组没有去年那么送分了,不过还好代码基本能看懂。
CCF 依旧草台班子,各种勘误稳定发挥。
S组
S组代码几乎看不懂一点,不过各种手推两个小时还是可以偷到一点分。
最后两组都过了。
复赛 day -1
这周正好学校开运动会,但是从星期四开到星期六,结果神人学校初三运动会全体自习,星期六才放活动,所以对于初三OIer来说等于没开。而且信息技术组老师全体消失,蹭不了机房。
神秘英语老师还说周六要小测,遂周五放学留下来测,然后紧急撤离赶往考点
实际上去参加了两个团体活动,然后蹭到两瓶饮料
复赛 day 0
J组:“你简单大家也简单”绝望影像
T1水,直接统计数字个数然后从大到小输出。
T2水,本来以为数学,结果:
1 \le n \le 10, 1 \le m \le 10
那还有啥说的,直接暴力
然后研究了半天行和列,猪脑过载中, 结果测数据还是输出反了,又各种阅读理解,总算调完了。
赛后发现输入是先行后列,寄。
T3,没复习异或的性质,然后直接手推,于是代码注释:
/*
1100
^ 1011
0110
*/
然后得出:
可以区间计算,遂写前缀和。
枚举区间右端i,对于每个右端枚举左端j,如果符合直接ans++;break;。
结果第一个样例没过,输出中间变量,发现每次符合之后没有更新左端限制,于是每次符合之后令l=i,遍历j时令j初始等于l。
又没过,出现不符合的也计入了,调半天发现:
==的优先级高于^
加上括号,测了大样例过了。不过这是
以下是根据赛时思路回忆的代码:
#include<bits/stdc++.h>
using namespace std;
const int N=500009;
int n,k,ans,l;
int a[N],p[N];
int main(){
freopen("xor.in","r",stdin);
freopen("xor.out","w",stdout);
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
p[i]=p[i-1]^a[i];
}
for(int i=1;i<=n;i++){
for(int j=l;j<i;j++){
if((p[i]^p[j])==k){
l=i;
ans++;
break;
}
}
}
printf("%d",ans);
return 0;
}
T4,不会写dp,于是先把n=3写了,然后直接爆搜拿n=10的分。
也不知道拿到了没有。
出考场,人均300+,本人最多284,寄。
S组:T1不会写导致心态爆炸崩盘
T1,读完一遍题以为直接对每个人最大满意度减最小满意度排序就行,然后造了一组数据直接假了,然后开始想别的思路。
最后认为可以对每个人最大满意度减第二满意度排序,挤不进去第一志愿的再排到b数组,对b数组根据第二满意度减第三满意度排序优先分配。
估计假了,不过大样例过了。
T2,寄。
T3,骗分,寄。
T4,寄。
估计要爆零。
出考场还有一逆天经历:这个学校交通非常重庆,二楼在地板上一楼在地下,然后出校路上遇到一个迷路的在楼下问路,我根据上午来的记忆指了路,怕弄错又去下面找人,结果给自己也整迷路了,还没找到人,而且我给指的路还是错的,在此给这位兄弟说声抱歉。(?)
总之炸了,初中的OI之旅也结束了,希望高中我还在吧,不过估计是AFO了
出分
J:
确实是T2挂分了,把n和m反过来输入就过了请输入文本
S:
骗分来的
本人往年游寄传送门:
2024 CSP爆炸记
CSP-J&S 2023游记