CSP-J 2022 游记(BJ)
liyuanchen2021 · · 个人记录
2022.10.27 测试回收系统
我用 NOI Linux 在程序回收系统中提交了一道题的代码并发给 dls,dls 说程序没有问题。
而我在赛后发现有些人注释 freopen 了(而且每年都有不少人这样做),希望大家在提交至回收系统的时候,别忘了把 freopen 的注释去掉。
//freopen("pow.in","r",stdin);
//freopen("pow.out","w",stdout);
应改为:
freopen("pow.in","r",stdin);
freopen("pow.out","w",stdout);
2022.10.28
我趁考试之前的最后一天,抓紧时间复习算法,调整好心态,做好考试的准备。
2022.10.29 考试当天
A. 乘方(pow)
这道题我用了 cmath 头文件下的 pow() 函数(没用快速幂),并且开了 long long。当结果超过 -1,否则输出
预期分数:100 | 洛谷估分:100 | 实际分数:100
B. 解密(decode)
这道题我直接用了暴力,时间复杂度为
我在赛后才发现可以采用更优的算法来拿到更高分数(如二分)。
预期分数:60 | 洛谷估分:60(TLE #7~10)| 实际分数:60
C. 表达式(expr)
这道题的目的是求中缀表达式的值。大家一定要知道,按位与的优先级要比按位或的优先级更高。
这道题我用了我学过的求中缀表达式的方法——递归求值法,时间复杂度为
预期分数:50 | 洛谷估分:70(评测结果如下图所示)| 实际分数:50
D. 上升点列(point)
这虽然是一道 DP 题,但是我没有时间去做这道题,因为此时还有 30 分钟考试就要结束了,这主要是因为被 T3 磨得没时间写,希望大家在做题的时候提升速度。
估分
预期分数:100+60+50+0=210 分
洛谷:100+60+70+0=230 分
实际分数:100+60+50+0=210 分
预计奖项:二等奖(5 级勾)