lizihan250
2024-10-29 20:29:03
前传
走进考场,看到许多可爱的小朋友,我下意识检查了一下组别。
初中同学一个都找不到了。过去的朋友们全都 AFO 了。
今年参赛的人格外的多。加上听说上午普及组卷很水,有点担心自己成为分母。
开始考试。
阅读程序
阅读程序
做完阅读程序
成绩出来后,我得知阅读程序
给自己出的题目配置了测试点。
某次模拟赛,B 题给了好几档部分分。尝试分类讨论骗分。分类讨论结束没 return 0;
,写的还是 if
,部分分交集不为空,在第二行读取到选手答案。
发现自己出的题是某题弱化版。于是重新出了一题。
打洛谷 然后摸了一小时鱼
看了看后面的题,T2 完全不会,T3 完全不会,T4 似乎比较好写部分分。为了方便,我使用文件输入输出调试代码。
没多久就写完了
评测结果中,我 D 题一分没拿。回去检查代码,发现是我忘记注释文件输入输出了。但愿 CSP 时不要反过来。
纸上写线段树 + DFS 序,上机测试后准确率还不错。(纸上写
突发奇想要写一下结构体,我一整年的噩梦。\
事实是这题比我想象中的简单多了,
写棵线段树热身。\
A 了括号序列。区间 DP 真好玩。\
A 了消消乐。map 真厉害。\
当年考场上用 char
作数组下标。
写棵线段树热身,不幸写挂,调试
写棵线段树热身。用矩阵乘法维护两种操作,常数太大,TLE 了。\
A 了回文。一开始数组没开到
换了种写法把前一天的线段树题 A 了。\
把会的模板(除线段树)全写了一遍。调的时间最长的竟然是 LCA。\
又写了一遍 Why Did the Cow Cross the Road II P。还记得初中时,我们学校的教练把这题放在普及组模拟赛中。重写这题时不慎把
看起来我只是又一次踏入 CSP 的考场,可谁又知道这一年间我都经历了些什么呢?
听着 PRAGMATISM -RESURRECTION- 前往学校。AFO,再到回归,或许在 OI 上这也是一种复活吧。
大致总结了一下近期犯过的逆天错误,写了份专栏。赛后想来,应该在校内 OJ 上也放一份的。
吃完中饭和同学一起前往赛场。同学们纷纷发朋友圈表示 AK IOI
。车上群英荟萃,有玩原神的,玩崩坏:星穹铁道的,玩明日方舟的,玩 Phigros 的,玩 CYTUS II 的(就是我),玩火影忍者的,玩狂野飙车的,玩部落冲突:皇室战争的……有人“中二”病犯了,唱 TECHNOPOLIS 2085。车上充满了快活的空气。
按照计划,我进考场后先睡了一小会儿,但其实我完全睡不着。\ 监考老师下令解压压缩包。\ 公布 PDF 密码。比赛正式开始。
打开 PDF,瞄了眼 T1,发现比去年 T1 还幽默,
再看看 T2。T2 考了匀加速直线运动。我一开始以为这会是大模拟,但看完题目后我发现并不是。稍稍想一想,容易发现,对于
此时机房里已经响起了一片片敲键盘声,但我没有理会,继续看后两题。
T3 题面很简洁,读懂了之后容易想到一个朴素的 DP:记
T4 看到题面就不想做了。一开始以为是大模拟,但它数据规模又特别大。直接放弃思考了。
此时离考试开始已经过去了
打开了熟悉的 VS Code,点开之后,我直接呆住了:唉你怎么是黑色的啊?
由于我在学校机房中用的 VS Code 都是明亮主题的,在黑暗主题下我略有不适。又因为我之前没有亲自配置过 VS Code,操作不熟悉,我花了约
我的第一反应是让次小的吃最小的,第三小吃最小的,……,以此类推,写出了如下式子:
sum=max(0,sum-nums[i]);
sum+=nums[i];
写出来后,我突然意识到,这不就是 sum=max(nums[i],sum);
吗?提高组第一题已经开始考求众数了,我们的 CSP 正在蒸蒸日上啊!
调完这题,大约距离考试开始已过去了
T2 写代码前,我先计算了计算过程的数据大小上限——不超过 int
。
思考第二问怎么做。经过一小会儿的思考,我感觉和“求不交线段数最大值”类似,好像 hack 不掉。于是开始编写代码。
编写一大堆二分是一个稍微有些繁琐的事情。分清
样例
此时距考试开始已经过去了
由于对状压技术不够自信,我先写了
接着,我尝试在终端中使用 color
运行 color.exe
。然而,事实上,color
是一个用于改变终端颜色的系统指令。这也意味着我无法正常运行程序。当时我用了不少时间检查代码中是否有运行错误,但并没有检查出来;编译选项开了 -Wall
,也没有报错。知道我打开 Dev-cpp,发现能编译运行,我才突然意识到指令 color
有其它的含义,于是用指令 color.exe
运行程序。
这道题的转移与数值密切相关,像之前的定义方式其实并不好转移。于是我做出了一个决定:重新设计动态规划方式,令
这题的代码比 T2 好写很多,没多久就写完了。测试大样例也通过了。这使得我兴奋而紧张起来。
此时离比赛开始已经过去了
再次看到这道题,我内心依然对它十分拒绝。但为了拿到
读懂题目花了我
此时离比赛结束还剩
由于时间匆忙,我只进行了文件操作、数组越界、数据大小超限检查,并确认前三题能正常通过大样例,并没有进行静态查错。
没检查出任何错误,我填完了字节数确认表,再确认文件位置没放错,考试也就结束了。
对部分同学进行了采访,他们的部分发言如下:
“啊?T1 是求众数?”
“T2 局部变量没初始化调了
2h 。”“我觉得 T3 是黄题。”(这名同学场切 T3。)“我觉得是橙蓝黄黑。”(但他没做出 T2。)
“我在 T3 和 T4 中选择了 T4。事实证明,这是个错误的选择。”
其实我挺不想重构代码的,因为我懒我不想打击我的自信心。然而在周围氛围的推动下,我还是打开了自测。
T1 很快就写出来了,没有问题;T3 也没有什么问题。T2 调完,提交……唉,怎么只有
我第一反应是我贪心假了,连忙去翻讨论区、题解。讨论区没有
tmp++;
seg[tmp].s=nw;
seg[tmp].t=n; // 应为 seg[tmp].t=m;
这份代码通过了所有大样例,但只能稳定通过测试点
当时我还是有些绝望的(若 scanf
内的标识符写错,三角函数的和差角公式默不对……
这一天在迷茫中结束。
CSP 过去了,但生活还要继续。我说服自己不为 CSP 成绩而焦虑:
结果呢?我看了看上一届 OI 队的 NOIP 游记,开始为 NOIP 焦虑了。
出分日。心里不断祈祷 T2 不要挂分。\ 进入系统,点开成绩查询,在进入系统的那一刻,我终于如愿以偿的看到我的 T2 没挂……
然后 T3 挂了。
唉?不是??为什么啊???
对了一下部分分范围,不出意外的话就是
拿到代码。发现并不是数组开小了,而是初始化范围太小了,如下所示:
const int Maxp=1000000;
//do something
for(int i=1;i<=n;i++) // 应为 Maxp
{
cl[i]=-1e18;
}
挂了一些分,有些不甘,不过还好数据水,没挂多少分。应该一等问题不会太大,说不定有机会拿
2024 年的 CSP 就告一段落了。这是我 OI 生涯第
还记得小学开始懵懂无知的学 OI,初一终日颓废,初二发奋图强,初三心有余而力不足,曾经暂时 "AFO" 过一段时间……
然后就是今年,几乎不顾一切的在 OI 的道路上狂奔。重来的机会让我对 OI 更加珍视,让我意识到,于我而言,OI 不仅是一种竞赛,一种爱好,更是我的过去,我的现在,以及有可能的——我的未来。
审视从暑假重拾 OI,到现在,支持着我不断思考,不断研究,在被各种错误整的哭笑不得却还不停调试代码的,一方面是我对 OI 的热爱,另一方面也是对我的过去的一个承诺。或许我有千万个放弃、颓废的理由,但既然已经有了第二次机会,我就不得不好好珍惜。
再说回这次比赛,很多时候,决定拿不拿奖、拿几等奖的可能不一定是能不能做出最难的那道题,而是有没有足够强的代码能力、有没有足够沉稳的心态以及有没有“小错误”。我不是什么大佬,不可能在今年的考场上把 T4 做出来,然而,在赛后复盘的时候,我才发现,
后续就是 NOIP,有机会的话说不定还能参加更高等级的赛事。在这里也祝各位看到这里的读者,以及我自己,rp++,拿到自己理想的成绩,在 OI 的道路上越走越远。
“我,并不后悔。”