前言
THUPC 2023,Dinshey 交拧螺丝一题,罚时 20 发以上。
Dinshey:我保证不拧螺丝。
我:我保证拧螺丝。
回顾
F
从 12 点调到 15 点。TLE 爆了。
直接用结构体存即可。
发现 replace 有着无限的可能。用 std::string 存到 std::vector 里,存下标。
13:30 通过全部样例。
发现 replace 可以嵌套,改写垃圾回收。
发现会 TLE,改写一次存储,存下标。
还会 TLE,很久才发现 trigger 里可以有 replace,也改了。
15:00,还在 TLE。爆了。
16:00,看正解,发现可以直接递归,全部解析完,当图上的点存。
18:34,发现第一个点正是自己一直在处理的特殊情况,跑了 0.5s,彻底爆了。土豆 OJ 卡大常了。
18:51,发现自己的常数是 std 的五倍。
12.18 21:10,发现自己原先没有判断 trigger 不需执行,即不能触发 trigger。这怎么过的???原来是因为我把 trigger 的 op 和其他 op 分开存了!我自己都不知道这有多妙!估计别人贺的时候根本看不出来
反思
其实到 13:30 的时候,靠 F 题进复赛的路就不通了。
时间流逝之快,我真的就过不去了吗?
什么时候才能策略完善,什么时候才能不重蹈覆辙?
写大模拟前一定要规划好。以前的大模拟太简单,我从来没有这样失败过。