CSP-J 2024 游记 最终版不改了(1).txt

· · 生活·游记

听好了:

今天 CSP-J2,成功:

\huge{爆零了!}

当然,说的是我自己。警钟长鸣。

初赛

简单。J 100。S 见 此帖。

Day 0

3:15 出校,约 6:30 到杭州,坐了 50min 的地铁,到了之后给自己点了一份阿香米线,肥牛鱼豆腐味的,发现难吃地要死。试着喝汤,发现汤就像加了 我的 CSP-J 第二轮分数 斤小苹果手机和小木棍一样难喝。

受不了,于是给自己点了一杯蜜雪冰城柠檬茶、一杯蜜雪冰城奶茶、一份蜜雪冰城草莓圣代、一个 KFC 汉堡、两个 KFC 奥尔良烤翅、一个蓝莓味蛋糕和一个蛋挞。吃爽了。于是睡觉了。

Day 1

6:40 闹铃响,6:50 关掉闹铃,7:00 起床。

到宾馆二楼吃早饭。吃了几个馄饨和一小片西瓜,拿了一瓶矿泉水冲下楼了。下面雨下得很大。

走到考场之后,找到自己的座位,随便敲了一下键盘,动了一下鼠标。然后监考人员说动鼠标的一律作弊处理,吓得我赶紧点回原来的页面。

8:15 公布文件夹密码。一次输对。

8:26 公布题目 PDF 密码。听监考人员报了 1w 遍,发现自己永远输错了。

8:35 问,发现自己 # 达成了

约 8:43,做好 T1。

约 9:10,做好 T2。

约 9:25,打完 T3 特殊性质。

约 9:55,打完自己的神秘 T3 dp 解法,试了好多遍发现自己是对的,而且时间也没超。于是觉得自己无敌了。T3 代码见下:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
#define int long long
string f[N];
string cmp(string s1, string s2)
{
    if (s1.length() == s2.length())
    {
        return (s1 < s2 ? s1 : s2);
    }
    return (s1.length() < s2.length() ? s1 : s2);
}
signed main()
{
    ios::sync_with_stdio(0);
    /*
    0 1 2 3 4 5 6 7 8 9
    6 2 5 5 4 5 6 3 7 6
    */
    f[2] = "1", f[3] = "7", f[4] = "4", f[5] = "2", f[6] = "6", f[7] = "8";
    for (int i = 8; i <= 1e5; i++)
    {
        string s = f[i - 2] + "1";
        s = cmp(s, f[i - 3] + "7");
        s = cmp(s, f[i - 4] + "4");
        s = cmp(s, f[i - 5] + "2");
        s = cmp(s, f[i - 6] + "0");
        if (i > 8)  s = cmp(s, f[i - 7] + "8");
        f[i] = s;
    }
    f[1] = "-1";
    int T;
    cin >> T;
    while (T--)
    {
        int n;
        cin >> n;
        cout << f[n] << endl;
    }
    return 0;
}

于是边看 T4 边检查前面的。

约 11:35,终于发现了 T4 是个图论题。于是打了前 5 分的性质,剩下不可以小 L。

约 11:55,记录字节数。

11:59,打开 T1 代码,发现写成了 freopen("poker.in", "r". stdin);,极限改掉,然后就说收卷了。不知道有没有保存。(没保存真寄了!)

下午打了 T3 代码,发现全部 MLE,于是——

\huge{我悬着的心终于似了。}

明年再来。

至此,一锤定音。

尘埃,已然落定。