专栏文章

CSP2025邮寄

生活·游记参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minf5ws7
此快照首次捕获于
2025/12/02 01:24
3 个月前
此快照最后确认于
2025/12/02 01:24
3 个月前
查看原文

省流急速版

你可能会笑死,请斟酌后点开
j:100+100+70+40=310
s:100+0+8+3=113

day -inf

S 模拟赛,打了两场,第一场 250pts,第二场 5pts,感觉良好。

10.31

周五,jx 下午三点才放学,我们火车也在三点,所以中午起床直接跑路。
到了济南东火车站,在站台外拍了一张帅照,和两年前打小学组一个位置。到了站台发现全是 OIer,但没有我们学校的。我戴上【某机构名称】发的帽子,准备蹲同学。火车开始检票时蹲到了 Alex866,他塞给我一盒薯片就逃跑了。
车上写作业,干掉了语文卷子。lyx 火车上啥也没干,看他返校怎么说。
下午五点到日照,天都黑了。去办入住,发现隔壁就是考场,办入住的时候还看见不少认识的人。
晚上去试机,发现 j 和 s 机器在同一个考场,还挨着(
试机完后回酒店。florr,启动!(好吧酒店无线太卡了

10.32 11.1

七点起床,准备去打 j。到了考场,居然让动电脑,打了一个有点癫狂的缺省源。我是 SD-J00628,大家可以在 SD 迷惑代码大赏里找到我。(大概
8:30 开题。这 T1T2 都啥啊,T1 十分钟秒掉,T2 注意到输出先列在行卡了我十五分钟。
T3 有点强度,一开始想的按位考虑,感觉不对又想的大炮,还是不对。发现满足条件的区间一定越短越好,想到对于每一个位置 ii 找到最近的 riir_i \le i 满足 aiai1ari=ka_i \oplus a_{i-1} \oplus \dots \oplus a_{r_i}=k。求出来 rr 之后跑贪心,把每个 rir_i 转化为区间 [ri,i][r_i,i],看看区间 [1,n][1,n] 内最多能放下多少不相交的区间。这样套一个异或前缀和求 rr 数组是 O(n2)O(n^2) 的,贪心 O(n)O(n),考虑优化。
我刚写完几秒钟就又瞪出来一个性质。我们在上面为了保证每个 [ri,i][r_i,i] 长度最短,每当我们发现一个左端点为 rir_i 的区间 [ri,i][r_i,i] 满足条件都需要更新一遍 rir_i。但我们发现当对于一个左端点是 rir_i 的区间满足条件后,因为我们是从小到大枚举的 ii,那么对于后面的 ii 区间长度肯定比第一个满足条件区间长度更长。也就是说,每个 rir_i 值最多只会被更新一次。当我们发现一个 rir_i 被更新了,后面的 ii 就不必枚举 rir_i 这个位置了。
因此,我们维护一个双向链表,开始链表里存着 1,2,3,,n1,2,3,\dots,n,每当我们发现一个 rir_i 被更新了,就从链表里把 rir_i 删去。对于每个 ii 都遍历链表,只用链表里剩下的值判断是否满足条件。当发现一个链表内的元素 xx 满足 xix \le iaxax+1ai=ka_{x} \oplus a_{x+1} \oplus \dots \oplus a_i=k 时,令 r[i]=x,并从链表里删去 xx 即可。正确性是显然的,大样例是全过的,思路是没人和我一样的。
打了 2h,终于过了 T3。T4 什么玩意,打了一个 set 没调出来,只能写 dfs,感觉有 40pts。
估计总分 100+100+100+40=340 分,应该能过(
中午回去睡了个午觉,准备下午打 s。
14:30 准备开。对了我是 SD-S00441,大家也可以去迷惑代码大赏里找找我,缺省源依旧疯癫。。。
开 T1,woc 什么玩意,不会是 dp 吧?一开始让 dpi,a,bdp_{i,a,b} 表示前 ii 个人 aa 个一组 bb 个二组,但发现时间空间都不对。题目求的最大价值,数据范围 n105n \le 10^5,显然是 O(n)O(n)O(nlogn)O(n \log n) 算法。下面是一些我的心理描写:
A:复杂度有点低啊,要求最值,难道是二分?
B:怎么可能,他有单调性吗,糖糖糖
A:那是线性大炮?
B:放,线性大炮至少得两维啊
A:开三个堆?
B:……说话过一下脑子行吗
A:woc 我会了,贪心
没错,这题是贪心。注意到题目中 nn 是偶数的条件很奇怪,又联想到 n2\frac{n}{2} 这个奇怪的限制,发现性质:
  • 超出限制的组最多只有一个
这个性质启示了我,能不能用一种类似反悔贪心的思路。我们不管人数限制,先让每个人站到最优的组别,如果人数满足限制直接输出答案,否则找出人数超限的组别,把这个组别内的人按“把这个人放到另一个组别后会令答案少多少”从大到小排序,一直取大的,直到人数刚好为 n2\frac{n}{2} 即可。复杂度 O(T(nlogn))O(T(n \log n))
花了 1h 写完代码(不包括思考时间),只剩 2.5h 了,开 T2。woc 我不会,打一个 k=0k=0 的最小生成树看 T3。这题正解是不是完全图上跑 prim?存疑
T3 居然是字符串,有点意思。不难想到哈希,一开始写了一个双模的,最后不会写了,改成单模了。我哈希参数是 base=1331,mod=998244353base=1331,mod=998244353,ccf 不要卡我 orz
写完之后小样例全过,大样例都没过。花了 10min 造了一个 hack,hack 通过后大样例依然没过。只剩 1h 了,去打 T4 暴力。
打完了,估分 130。
感觉自己炸了,因为出考场发现 T2 暴力没开 long long,而且 1h 想到正解。。。

10.3711.6

查成绩。详情见文章开头。
其实我看到这个成绩之后并没有伤心,反倒感觉我自己挺厉害的。六年级时我甚至场切不了黄,现在已经有了场切绿的水平,这种提升让我欣喜到现在。
稍微扯一扯我在学习上的事。周六去 csp,下周二就期中模拟考。我每天晚上晚自习都去机房,文化课只能课间补。别人都说这样没有意义,因为一年前的我在 OI 上还是一个【数据删除】,这一年我真的成长太多了。
不急,我才初一。
我真棒!

结尾

推销一下我去年的 CSP-J2024邮寄,通过它你就知道我去年多菜。
CEXE 好闪,拜谢 CEXE。

评论

0 条评论,欢迎与作者交流。

正在加载评论...