Csp2025 游记

· · 生活·游记

Csp2025游记

作为一个新初二蒟蒻,第一次打Csp感觉还行吧 起码都不会爆零

运气好点混个S 1= ,不好的话就等明年了,反正咋滴都进不了Noip了,唉

2025.10.??

打了Csp的初试,基本上经历都忘完了就光记得上午下午有同一个人坐在我做前方,挠了一整天的头皮屑

2025.10.30

放学回家,作业9点就写完了,决定不补DP训练的题了,又看了一遍教练发的Csp2025培训,试了一会,开始复习各种模版:tarjan,最小生成树,DP,最短路,字符串……

玩,把玩了两个月的Mc1.12存档龙打了(电脑是Mac虚拟机win10只能带动1.12了)

去折跃门看了一下,一个很小的末地城

没有宝箱555

又往前走看了一会儿,还是没有新的末帝城,一怒之下开创飞了几千格,遇到一个一样mini的

睡觉

2025.10.31

周五回家,代码源没出比赛,于是继续自己复习

又去玩了 往反方向走,很快看到一个巨大末地城,被潜影贝暴打(没办法总共才玩了两个月 后来开创搜,老老实实啥也没拿,只是单纯搜城 结果创造吞了我一个搜到的铁甲(扔地上了本来想整理背包先合潜影箱,结果直接给我吸进去了没了 后来又搜到一个,复制了一下好了 然后没吸取教训被吞了56块金锭 搜完了,好东西不少 又去看了看对拍 23:20 睡觉 # $2025.11.1

早上起来精神还不错,喝不惯咖啡所以我爸给我买的脉动,穿了个鞋就忘拿了。。。

到场地了,买了瓶东鹏特饮喝

代老师虽然不当学校教练但还是来了,送了我一块RP++的徽章

但是我晚上搞丢了55555哇哇哇哇哇

进场,调环境,键盘难用死了,尤其是空格键
但最关键的是和我平常用习惯的键位不太一样啊啊啊
然后打线段树板子找手感,每次打或的时候(|),都会敲出一个换行
嗯对就是回车键把或那个键挤到第一行去了

8:30J组开考

T1随便写个排序就行了,3min
然后第一次打Csp紧张,反反复复看了好几遍,8:45开的T2
然后在此期间翘二郎腿把左边那哥们关机键踢到了
幸好他一道题都还没打
T2第一眼还以为要推公式算
第二眼模拟10*10的数据范围
打完了
i&1 写成 m&1了,调了一会才发现
然后怎么还要先列后行???
九点左右吧,看T3
一眼看过去感觉废了,没思路
先想一会吧,敲了个前缀异或和,没白敲
然后开始分讨,写着写着突然发现好像不需要只有两种情况

给看游记的人顺便贴一下代码吧

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
ll f[500010],a[500010],pos[(1<<21)+10];
ll b[500010];
ll n,k;
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        b[i]=b[i-1]^a[i];
    }
    for(int i=0;i<(1<<21)+5;i++)
    {
        pos[i]=998244353;
    }
    pos[0]=0;
    for(int i=1;i<=n;i++)
    {
        ll nd=b[i]^k;
        if(pos[nd]==998244353)
        {
            f[i]=f[i-1];
        }
        else
        {
            f[i]=max(f[i-1],f[pos[nd]]+1);//考试这里忘写max卡了十几分钟
        }
        pos[b[i]]=i;
    }
    ll ans=0;
    for(int i=1;i<=n;i++)
    {
        ans=max(f[i],ans);
    }
    cout<<ans<<endl;
    return 0;
}

b是前缀异或和数组,异或的性质大家应该都知道,然后代码自己看,码风还行
大概10:40左右吧写T4
先玩了一局小恐龙,才100多分就被空格键坑死了 开T4
画了一会,发现sort一下就变成了对于每个i,选i前面的,和要大于i
n才5000 ,背包
然后也想到大于5000的全放5000就行
然而写懵了,最后不想写了,打了暴力,打了特殊性质(max ai<=1,随便选)

又打了两把小恐龙就交了

然后交的时候差点因此爆0
本来在E盘下答题,交压缩包的时候我拖桌面上压缩的,结果修改时间全变成12:01了
幸好是复制的,不是移动
重新交了一下好了

有人把准考证号写错了核对了一个小时才放我们出去
考试吃了两块士力架,这一个小时边扫雷边吃,又吃了两块
估分100+100+100+64=364
反正1=够了,毕竟我坐标SN

吃饭

吃饭

吃饭

豪赤

又去买了一瓶东鹏特饮

玩了一会手表就又进考场了
上午在那个座位打J组的人代码没删,看了看
T1T2忘了,T3他打的暴力但肯定挂0

因为他调试代码没删

T4直接cout<<n-2

14:30

S组开考身边围满了巨佬
左后方是跟我关系最好的:lizihanDF
先看T1,想了个朴素的贪心,打了15min,然后发现假了
然后也找到问题出在哪了
想了一会发现n/2最多两个社团就能包含完,换了种排序方式A了,测了大样例。
对拍是一点没用上,因为感觉不会写暴力啊
要么就是写了暴力可能考试结束一组数据都拍不出来
感觉T1最多评黄吧,结果评了绿
15:10左右
教室闷得要死,还贼热,头特别晕,全靠东鹏续命
去上厕所顺便呼吸新鲜空气
这时候我右边的入就开始打游戏了
看T2,发现k<=10还以为是最小生成树板题
结果又读了几遍题发现不会
把k=0的16分打了
膝盖碰到我自己电脑的关机键了,还好手快取消了,没卒
去看T3,我右边的入还在玩,不过换了个游戏
有点思路但不多,想特殊性质想出来了但是感觉实现不太行,写15分暴力,突然发现能拿25分O(L^2logn)
只给了两个小样例感觉可能挂分比较担心
T4写了8分全排列,本来以为特殊性质直接n!就行,然后看见了0<=c_i<=n
不是你一点耐心都没有还报什么面试啊啊啊????影响我骗分
下考,这次没出意外,十几分钟就走了
我右边那个入真就玩了三个多小时游戏
花了六百多玩三个小时单机游戏
是个人物
估分100+16+[0,25]+8=[124,149]
T3实在担心啊
有人估分200+
啊啊啊我好菜
西西弗我劝你善别让我挂分
混个1=
考前复习的几乎都没用上,对拍也是一个都没拍
因为我打的只有暴力
晚上没打abc,去楼下吃饭,回家看到有人打羽毛球去打了一会
没手感
回来在洛谷上自测还没挂分
T3明天再测吧,睡了