CSP2025 游记

· · 生活·游记

由于 cz 不让用某些语言,所以我们有奶龙代替。

Day -998,244,353

开始复习,模拟赛 J 组 200 pts 左右,S组 0 pts 左右。

Day -11

考点是深圳外国语学校高中园

Day -1

住到考点附近的酒店,貌似看到同学?

Day 1上午

起床吃酒店的早餐,可能是起太早了,只有一点面包和青菜叶子。幸好还有烤肠,不然只能吃一点稀饭了。

到了考场,碰见了同学。很不情愿高兴和他在同一考场。讨论了双方关心的话题,交换了意见。

进了考场,竟然没有试机环节。硬是干坐了十分钟,终于开考了。

开题,第一题一眼秒了,直接数组+循环解决,耗时 2 min。第二题一开始乍我一下,还以为像去年一样是模拟。码字 2 min,Debug 10min ,我是奶龙。第三题用了妙妙解法,大样例跑了4s,可是自己的随机数据(n = 1e7)只跑了0.8s。

第四题 dfs + 特判 60 pts,没什么好说的。

最后民间数据也是 100+100+80+60=340,勉勉强强能一等。

Day 1下午

还是考前静坐,只不过开题之后就是两眼一黑,啥题都不会做。第一题开始是贪心,但是大样例过不了,也不管它了。第二三四题也是骗了一点分。后面就是这里水条一点,那里水条一点。最后第一题交的时候是 3 维背包。

总结:消磨时间的最好方法是————在devc++的文件夹里搜索C++的头文件。

预计 55+4+30+20=109 ,也是挂了。

Day 6

J: 100+100+75+40=315 一等稳了

S:0+16+0+4=20 三等稳了

Day 114

S差10分三等,T1竟然没想到枚举两个社团人数,我是奶龙,本来能上2=的。

附: 妙妙代码的原文件

#include<bits/stdc++.h>
using namespace std;
#define PII pair<int,int>
#define fi first
#define se second
int n,k,a[500005];
int pre[500005];
unordered_map<int,vector<int>>m;
bool cmp(PII x,PII y){
    return x.se<y.se;
}
signed main(){
    cin>>n>>k;
    m[0].push_back(0);
    for(int i=1;i<=n;i++){
    scanf("%d",&a[i]);
    pre[i]=pre[i-1]^a[i];
    m[pre[i]].push_back(i);
    }
    vector<pair<int,int>>ans;
    for(int i=1;i<=n;i++){
        for(int j:m[pre[i]^k]){
            if(j+1>i) continue;
            ans.push_back({j+1,i});
        }
    }
    if(ans.size()==0){
        cout<<0;
        return 0;
    }
    sort(ans.begin(),ans.end(),cmp);
    int res=1;
    int lst=ans[0].se;
    for (int i=1; i<ans.size();++i) {
        if (ans[i].fi>lst) { 
            res++;
            lst=ans[i].se;
        }
    }

    cout << res << endl;
}