POIN 2025 游寄

· · 生活·游记

POIN 2025 游寄

看似 NOIP,实则 NOI plus。

坐标 SC 成都,小学 10 年级。

考前

考前我们过了近三年的 NOIP 题,我写了的包括 种花 喵了个喵 建造军营 三值逻辑 天天爱打卡 编辑字符串 遗失的赋值 等等。

以前看这些题没啥感觉,现在感觉岁月如梭,自己的考题马上也要变成这样了,自己却还这么蒟

考前好久好久一直保持着一周六天,四天考试改题,两天学点东西。考题是巴蜀中学的,NaN(难),做不来。

教练带我们思考了每道题,我也大致掌握了 NOIP 考试的大概难度和出题方向。在教练的建议下,我还写了考场策略:

::::success[2025 POIN 考场策略] 首先,提前半小时到考场,东西拿好,拿上水。

同一间机房,上一次的位置只在我旁边,上次 1 这次 2

考前和刚开考

依据指令登录,考生手册还是看看吧,毕竟第一次 POIN,不知道 CCF 会搞什么幺蛾子

下载试题包,在 D:\work 把 4 个 cpp 创建好,写好板子:

#include <bits/stdc++.h>
using ll = long long;
using std::cin; using std::cout;
using std::min; using std::max; using std::swap;

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    //freopen(".in", "r", stdin);
    //freopen(".out", "w", stdout);
    // 此处检查几遍
    return 0;
}

复制给 4 个 cpp,把文件名,freopen 处的文件名填上。小熊猫稍微调一下,一定要 一分钟自动保存一次!!!!

看题

看完题决定开题顺序,构造题不放 checker 的看个乐子就可以了,压力 +20 写的话有把握再写

注意 T1 和 T2,T2 和 T3 的顺序有可能反。

如果是傻题加限制,类似 CSP-S 2025 T1。注意贪心。

有把握

90%

那还不死磕(都 90% 把握了,40min+,最多 1h 应该能切)

60~70%

死磕个一个半小时最多了,大不了打个高分部分分。先写写其他题再说

能做特殊性质和暴力

那还不写?

能做特殊性质,但暴力打不出来

先能拿多少是多少

啥都看不懂

瞎搞!模拟!暴力!打表!

搞出来了万幸,搞不出来呢?

不捆绑,没有多组数据

敢于乱搞,比如 O(ans) 的算法,正确性大概会对的贪心,实在是做不起了,不可以总司令

思考方向:能搞出比较优秀的答案,并且大部分情况都输出最优解

捆绑或者多组数据

一个死就全死,那么优先正确性,先保证正确性再说

写完一道交一道

还有 15min 结束

不打了,去 linux 下全部编译,g++ <filename>.cpp -o <filename>.exe -std=c++14 -O2 -static, ::::

这里还是纪念一下来自德阳的同学 Purple_Pencil,来我们学校集训了好像是两周。估计只能见这一面了,男人之间分开完全没有眼泪,只有深埋内心的对命运的悲哀。

考时

第一次参加 NOIP。

几乎所有同学都在锦江嘉祥。

考前在考点拍了合照。

T1 0s 看出 n 个的无限和 n 个 01。最初想法就是背包。但是 m \le 10^{18},看来得耗费一番功夫了(我也是想要 A 一道题的人,一血 CSP-S 的耻辱,详见 CSP-2025 寄)。5min 看出打包的只会薅代价最小的那一对,剩下的 01 优先薅小的,赛后回忆写出了以下代码:

#include <bits/stdc++.h>
using ll = long long;
using std::cin; using std::cout;
using std::max; using std::min; using std::swap;
const int MAXN = 1e5 + 10;
int n; ll m;
std::vector<ll> v1, v2;
int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    cin >> n >> m;
    for (int i = 1; i <= n; ++i) {
        ll x, y; cin >> x >> y;
        v1.emplace_back(x);
        v2.emplace_back(x + y);
    }
    std::sort(v1.begin(), v1.end());
    std::sort(v2.begin(), v2.end());
    ll twocost = v2[0];
    ll sum = 0, ge = 0;
    ll ans = 0;
    ans = max(ans, m / twocost * 2);
    for (int x : v1) {
        sum += x;
        ++ge;
        if (sum > m) break;
        ans = max(ans, ge + (m - sum) / twocost * 2);
    }
    cout << ans;
    return 0;
}

最终也是得到了 luogu 自测数据和官方数据的 100 pts。

开考 20min 后写完了,对着样例测了,然后把最后一个样例的 10^9 改成 10^{18} 又跑了一遍,没啥问题。0.5h 过。

T2T3T4,T2 可以打 2^n 多的暴力,T3 树形 dp,dp 不来,T4 我倒可以用 q n^2 \log n 的算法试试。先敲 T4 的暴力,敲了 1h,我也最熟悉这个暴力。T3 实在写不来。T2 暴力还写挂了,一直卡在这里,无奈之下先写第 18 个点的 2^n 的答案,再继续敲。直到考前最后 30s,仍然过不去第二个小样例。那就打开 freopen 交了吧,燃尽了。

赛后

刚看黄紫紫紫,回家后黄黑黑黑,又过了一会黄紫黑黑,现在也是这个难度。

很惊讶,首先怪不得自己一直写不出来,其次,我从来没有想到 NOIP 会这么难。

现在就知道文件名为啥叫 day1 了吧!

纵然心中有无数怨气,但不得东风顾的我们。终究败在了 NOIP 的战场上。

以后的考生抱怨 2025 NOIP 有多难,那个冬天就有多冷

没事,我还有一年,但不知道明年的难度如何。

还要祭奠一下想要退役的 Programmeryhl,他也被制裁了。实际上大家都被制裁了。

:::::info[杂项] 最近 OI 教练模拟器和 OI 重开模拟器很火。

同时催一下 蓝飘飘fly 的更新。

同时催一下 周杰伦 的歌单 (新歌只说不做,慈善只做不说)

同时庆祝自己即将拿到人生中第一把好用的羽毛球拍,抱怨一下羽毛球是越来越贵了。

同时分享一下斗罗大陆,还在看斗 3。 ::::info[斗 1 语录] 桂树青春百里疆,鹧鸪啼彻午阴凉。延平津上峰如削,剑去江空水自长。

七杀惊雷起,一剑破长空。

杯中一阙十三弦,风雨半生尽归一剑。

骨龙出海,凌长空,纵逍遥,扶摇三级,风从游。

菊花残,满地伤,花落人断肠。

风卷雨来云遮日,龙游九霄玉天雷。

蓝草平生无归处,风雨流年,幸得东风顾。

北风猎猎天地黯,一叶江心一线天。昊天名动八荒震,千古须弥万魂巅。 :::: :::::