CSP-J 2024 游记 最终版不改了(1).txt
听好了:
今天 CSP-J2,成功:
当然,说的是我自己。警钟长鸣。
初赛
简单。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,于是——
明年再来。
至此,一锤定音。
尘埃,已然落定。