CSP-S2025 邮寄

· · 生活·游记

坐标 SC,高一。

第一轮

前面忘了,中间忘了,后面忘了,97 pts,糖吃多了。

第二轮

Day 0:

敲了一堆板子,抢到一道题的最优解最后一页倒数第2个,最慢一个点跑了 2.97s,晚上回家后狠狠摆烂。

Day 1:

上午

8:30 起床,敲了点板子,然后狠狠摆烂。吃饭前狠狠祈祷让CCF_NOI 不要让我挂分。

下午

1:20: 出发,然后走错校门,走到正门去了,结果是从侧门进。

2:00:到了 303 考室,碰到一车同学,很好很好。

2:30:开考。

先开 T1 ,一眼就是贪心,怒敲半小时,写了 100 多行,结果过不了样例,摆之。

直接开 T2,一眼重构树,15min 敲完,测大样例,有点被卡常。随后加了点剪枝,过了大样例。

随后惊奇得发现:T2 大样例它【数据删除】不是极限数据!(n 只有10^3),随后搓了一组大样例,过之。

回去想 T1 ,先写了 55pts 的暴力,然后修了一下优先队列的规则:先全部放进A,再分别按 A_{i,2}-A_{i,1} 和 A_{i,3}-A_{i,1} 排序,然后加了点随机化,稳妥些。

为了稳妥,T1保留了两个Subtask。

4:30:到 Linux 里过了编译,但为什么freopen()那两行有警告啊喂!

4:40 ~ 6:00:写了 T3 的25pts ,T4的状态压缩 20pts,然后挂机。

6:20: 检查了代码,记录了一下代码字节数,发现有 6Kb,最不摆烂的一次。

然后然后:

晚上摆着摆着,想了一下代码:【数据删除】的第一题 Subtask1 【数据删除】的错了!!!

#define upd(x,y) x=max(x,y)
for (int i=0;i<=n/2;i++) for (int j=0;j<=n/2;j++) upd(ans,dp[n][i][j]);

应该是:

#define upd(x,y) x=max(x,y)
for (int i=0;i<=n/2;i++) for (int j=0;j<=n/2;j++) if (n-i-j<=n/2) upd(ans,dp[n][i][j]);

考场上就应该把那玩意给删了,狂挂 (0,55] pts。

然后然后然后:

早上dalao说 T3 【数据删除】的 \mid T_{j,1} \mid \neq \mid T_{j,2} \mid ,再挂 25pts 。

总结:

-S = [45,100)+100+[0,25]+20=(0,245)

首先是题做少了,其次是开到 T1 心态有点崩。总结为考试考少了。菜就多练

总之, NOIP2025 RP++。

Day 3

VP CSP-J

A:语言基础,秒了

B:语言基础,秒了

C:一眼维护异或前缀和,秒了

D:正难则反,秒了

总结:好爽好爽好爽好爽!