NOIP2025游记
本游记含有大量废话,请注意。
2025/11/1
为什么上午 J 组这么简单,下午 S 这么难啊 qaq
CCF 考试难度是守恒的吗。
考试 4 个题都没做出来是不是可以重开了 qaq
浪费了一个下午,本来可以爽玩游戏的 qaq
什么叫我四个题暴力拿了 163 分?
2025/11/14
什么叫我拿一等了?
什么叫我要去打 NOIP 了?
2025/11/29
早上
6:30 被叫起来,买了些小笼包。
小笼包真好吃,吃了两袋😋
上高速去深圳,高速上太阳直接对着我们车,快把我眼睛晃瞎了。
还带了点书过去,想要在车上再复习一波(虽然睡觉去了)。
想要在车上睡一会,结果根本没睡着就上考场了 qaq
考场
先看 T1。
T1
T1 的价格是有规律的,也就是说,如果把糖果数量看成价值,每一种糖果都可以看成有无数个价值为
1 \leq m \leq 10^{18}
不对。
先尝试写个假贪心:将自己的钱只买一种
candy1.in 过了!
candy2.in 过了!!
candy3.in 过了!!!
candy4.in 过了!!!!
candy5.in 过了!!!!!
candy6.in 没过。
注意到 candy6.in 代表的数据点不满足特殊性质 B,于是考虑一下特殊性质 B 为什么可以让我的假贪心过。
我们发现,如果
于是我们考虑写反悔贪心!
没写出来。(我怎么这么糖。)
(深思)如何骗分。
我们的假贪心是可以骗到特殊性质 A 和 B 的分的,而背包 dp 是可以骗到不少分的。
🤓☝️我们让它们杂交不就行了!
杂交之后的程序会保留双方的优良性质,具体的:
- 当
nm \leq 10^7 时,用 dp; - 否则用贪心。
这样一定可以拿到不少的分数!1~16 都能过!剩下的点只能听天由命了。
考场代码(记忆复现版):
#include <bits/stdc++.h>
using ll = long long;
const int N = 1e5 + 5;
ll x[N], y[N], cc[N], dp[10000005];
int main() {
int n;
ll m;
scanf("%d%lld", &n, &m);
for (int i = 0; i < n; ++i) scanf("%lld%lld", x + i, y + i), cc[i] = x[i] + y[i];
if (n * m <= 1e7) {
for (int i = 0; i < n; ++i) for (int j = cc[i]; j <= m; ++j) dp[j] = std::max(dp[j], dp[j - cc[i]] + 2);
for (int i = 0; i < n; ++i) for (int j = m; j >= x[i]; --j) dp[j] = std::max(dp[j], dp[j - x[i]] + 1);
printf("%lld", dp[m]);
return 0;
}
ll minn = LLONG_MAX;
for (int i = 0; i < n; ++i) minn = std::min(minn, cc[i]);
ll ans = m / minn * 2;
m %= minn, std::sort(x, x + n);
for (int i = 0; i < n && m >= x[i]; ++i) m -= x[i], ++ans;
printf("%lld", ans);
}
洛谷上实测 80 pts。
看看 T2 吧。
T2
坏了计数题,不会做,转战 T3。
T3
不会做(最后甚至连暴力都没写出来,直接输出样例输出了)。
T4
不会做,随便写个前缀和优化一下吧。顺便骗一下
其他
考场上拉肚子了,好辣。
考场外
时间到了后我就跟着别人走了,感觉自己可以准备重开了。
感觉阳光撒到身上挺暖和的。
出考场后就在学校的食堂吃了饭。
有土豆+鸡肉,青菜和牛腩(本人不知道烹饪方法)。土豆好吃,狂炫😋
吃了点东西就下去了。路上还买了个双皮奶,好吃😋双皮奶还加了点芒果,不知名的透明小弹球/正方体。
然后就坐车回家了。车上已严肃完成今日睡眠两小时大学习,精力++。
睡醒后小腿抽筋一分钟,疼痛++。
游记完。
后记
第一次写游记,感觉写了好多废话...
换了个小号发游记,因为大号太逆天了。
感觉这次参加 NOIP 的过程充满着一种凑数感:
- CSP-S 时四个题都没做出来,全打暴力竟然爬过了一等线,喜提 6 钩。感觉就像是自己被拉上去充数了(
- NOIP 考前准备也是马马虎虎,晚修请假后没人监督因此经常偷偷玩游戏(Minecraft 挖史莱姆区块感觉好爽)。因此最后都没学到什么。
- 考前前一天尝试学习 KMP 算法,无果,寻 21:30 终。
- NOIP 考场上也没做出来什么题,全是暴力凑数。
在写这个游记的时候,我突然尝试追忆往事。
我什么时候开始玩电脑的?
回首往事,我在小时候跟着爸爸一起去他的办公室,爸爸让我玩他的电脑。
我那时根本没听说过 OI 这种东西,全是自己上网在看好看的东西。
小学微机课上,我有时还会用上网学来的 VBS 恶搞同学(比如开一个关不掉的窗口,或是直接关机)。
后来有了第二课堂,我在第二课堂上搞了 Scratch,编程猫,某个动画平台。有时也会在微机课上看 Underverse。
我想,这个时候的我,绝对猜不到现在的我会变成这样吧(笑)。
到了初一,我妈妈给我介绍了一个叫做洛谷的平台,我注册了一个账号后就让它吃灰去了。但是这个平台将会陪伴我的 OI 生涯。
还上了个兴趣班,我在那里学到了很多基础知识。但是由于兴趣班与我家距离过远,我每个周日都要在家、兴趣班、学校中奔波,后来也没怎么上了。
到了初一,我第一次尝试打 CSP,竟然过了 J 和 S 的初赛,但是到了复赛才发现自己竟然什么都不会做,去哪里吹了 8 个小时空调。
初二,我没有打 S,转而去攻打 J 组,当年的题特别简单,前三题我都 A 了。
结果我们考场代码弄丢了,于是参加了一次重赛,题目特别难(感觉 T1 有黄,难度单调递增),于是喜提 245。算是个有趣的小插曲。
::::info[一段突兀的升华] 我在这里写游记时,突然问自己:如果你知道你自己现在这样,你当初还会选择 OI 吗?
作为一个初三学生,我感觉我在 OIer 中算是中下层:没有天分,没有毅力,也没有让我能够全身心投入的热爱。
没有希望就没有失望,我在 OI 的路上遇到了很多令我失望的事情:不理想的分数,学不会的东西,whk 的冲突。
OI 搞了两年,没拿到什么分数,时间倒是真的浪费了。
由于主播体育就是残废,我的 whk 成绩在我所在的初中没有特别靠前,也上不了当地的顶顶流高中。
但是我搞 OI 并不是为了成绩的,我在小时候玩电脑时,我就喜欢在电脑面前坐着,探索新鲜事物。我想,从我小时候玩电脑开始,我就注定会走上 OI 的道路了。
我在 OI 中学到了很多知识,结交了很多人,~还认识了一个叫做 florr 的游戏~,虽然我也干过一些很中二很傻逼的事,但我觉得我的收获大于失去。 ::::
在游记中突然高潮了,插入了一段很突兀的升华,还请见谅。
最后以追忆的题目背景结尾: ::::info[追忆]
我常常追忆过去。
生命瞬间定格在脑海。我将背后的时间裁剪、折叠、蜷曲,揉捻成天上朵朵白云。
云朵之间亦有分别:积云厚重,而卷云飘渺。生命里震撼的场景掠过我的思绪便一生无法忘怀,而更为普通平常的记忆在时间的冲刷下只留下些许残骸。追忆宛如入梦,太过清楚则无法愉悦自己的幻想,过分模糊却又坠入虚无。只有薄雾间的山水,面纱下的女子,那恰到好处的朦胧,才能满足我对美的苛求。
追忆总在不经意间将我裹进泛黄的纸页里。分别又重聚的朋友,推倒又重建的街道,种种线索协助着我从一个具体的时刻出发沿时间的河逆流而上。曾经的日子无法重来,我只不过是一个过客。但我仍然渴望在每一次追忆之旅中留下闲暇时间,在一个场景前驻足,在岁月的朦胧里瞭望过去的自己,感受尽可能多的甜蜜。美好的时光曾流过我的身体,我便心满意足。
过去已经凝固,我带着回忆向前,只是时常疏于保管,回忆也在改变着各自的形态。这给我的追忆旅程带来些许挑战。
我该在哪里停留?我问我自己。 :::: 哦,还有:
小笼包好吃😋
土豆好吃😋
双皮奶好吃😋
Minecraft 豪腕😋
竟然写了 4000 字!破纪录!(唯一超过的是一片题解,但是代码占了很多字,删去代码后 2000 字不到)。