CSP-S2026邮寄

· · 生活·游记

赛前

模拟赛打得跟史一样,不是不会 T3,就是 T1T2 大挂分,反正就是上不去 300\texttt{pts},区完了。

ABC 打得也不咋地,自从大号上黄就在疯狂翻车,E 那个极角排序死活 WA 两个点,虽然 F 直接速通了写得还是一个又短又好写的分层图 bfs。

状态爆炸,如何调整?

疯狂刷板子题,发现 @_zyx2012 这个蒟蒻连欧拉回路都写不明白。

我草我这么菜吗?直接 AFO,不打了。

Oh no,听说儒略日和结构体都是大模拟,那今年岂不是也要大模拟?于是赛前一天耗时 2\texttt{h} 把结构体做了(都这时候了才想起来我也是个神了)。

考试当天上午,继续复习知识点,感觉比打 J 的同志们更加坐牢,因为板子题好没意思。

赛时

考前不到 1\texttt{h}

第一件事:抓捕 @Jerry_Li11 巨佬,好吧其实不用抓我是 LN-S00047 他是 LN-S00049 并且 LN-S00048没站排就进去了,所以站排的时候他就在我后边。

第二件事:打开 Sublime Text(去年用 Code::Blocks 感觉非常难受,今年玩个 Sublime Text + 命令行神教),搓了几行板子,然后塞进了 Sublime 的模板库:

<snippet>
    <content><![CDATA[
#include <bits/stdc++.h>
using namespace std;

using i64 = long long;
using u64 = unsigned long long;
using u32 = int;

using i128 = __int128;
using u128 = unsigned __int128;

#ifdef ZYX2012_DUIPAI
mt19937_64 mrand(random_device{}());
i64 rnd(i64 l,i64 r){
    return mrand() % (r - l + 1) + l;
}
#endif

int main (){
    freopen("${1:name}.in","r",stdin);
    freopen("${1:name}.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);


}
]]></content>
    <tabTrigger>_head</tabTrigger>
</snippet>

前 1.5\texttt{h} 左右

T1 看错题了,以为是 +1-1 都行,写完才发现不对,但是没关系因为我那代码改几个字就是只能 +1 的代码,速通了,但是我还是挂了个对拍。

T2 一开始没啥思路,后来发现:

  //站多线少啊,我还以为n个站m条线呢
:::epigraph[——LN-S00047 赛时代码]

然后就会了,速通!

中间 2\texttt{h}

估计已经人均 200+ 了,T3 偏偏是我不擅长的题型。

是先把 T4 的暴力写完,还是跟 T3 死磕到底?

去写 T4 的暴力虽然稳妥,但是得不了高分。

但是 T3 这种题型是我很容易以为自己能过实则过不了的,磕下去,很可能最后连 NOIP 都去不了。

先打 T4 的暴力吧,T3 你很可能搞不定,与其冒着连 NOIP 都去不了的风险一战到底,不如走一条更稳妥的路。

你是想拼一把,还是想苟活?你难道忘了你今年是为了 300+ 去的吗?

:::epigraph[——LN-S00047 赛时自己问自己]

我该怎么做?

成败,就在一念之间。

事到如今,破釜沉舟吧!

最终,我决定和 T3 一战到底。

事实证明,我还是没白练的,很快就设计出了算法。

然后大样例过不去。

按照以往的经验,这种题这种情况,很可能是想歪了,继续磕下去,大概率只会玉石俱焚。

去年 NOIP 死磕 sale 最后 120\texttt{pts} 惨败没去上省选的经历我还没有忘。

但是那又怎样呢?

我还是选择了一战到底,反复排查错误,最后,终于通过了全部大样例!

挂上对拍,对拍跑得很稳,我知道,自己这把,大概赌赢了。

后 30\texttt{min}

先去把 T2 的对拍挂上,然后我看时间不够了,T4 索性暴力都不认真打了,代码长这样:

:::info[Code]

#include <bits/stdc++.h>
using namespace std;

using i64 = long long;
using u64 = unsigned long long;
using u32 = int;

using i128 = __int128;
using u128 = unsigned __int128;

#ifdef ZYX2012_DUIPAI
mt19937_64 mrand(random_device{}());
i64 rnd(i64 l,i64 r){
    return mrand() % (r - l + 1) + l;
}
#endif

void solve(){
    int n,k;
    cin >> n >> k;

    for (int i = n;--i;){
        int x,y;
        cin >> x >> y;
    }

    cout << (n == k?0:1) << '\n';
}

int main (){
    freopen("hub.in","r",stdin);
    freopen("hub.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);

    int c,T;
    cin >> c >> T;

    for (;T--;solve());
}

:::

# 赛后 估分 $100+100+100+5$,~~但是不要怕因为一般情况下我的估分除 $2$ 才是实际得分。~~ 和 @[lucius1](luogu://user/934894) 聚了一餐,第二天像 @[lucius1](luogu://user/934894) 一样摆了一整天。 ~~打个广告:需要今年 LN 选手代码不带密码压缩包的看[这里](https://zyx2012.xo.je)。~~