• CSP2020 二轮游记


    11.6

    去看考场。

    我的两组座位都有一遍没人,感到了几丝自由。

    电脑是 WindowsXP,C++ 内没有 Consolas 语言……

    J 组考场键盘是藏在抽屉里的,但好像抽屉没法完全打开……

    S 组考场的隔板是浅红色木板,很有年代感

    总之体验不是很好。

    11.7

    11.16 作者终于发现自己还留了一个坑,并补了上去。

    以下左端时间不一定十分准确。

    $08:15$ 到考场的时候状态一般,精神并不是特别地好。

    $08:30$ 不过监考人员还是非常负责的,开始比赛后下去检查了每一个人的提交格式是否正确。

    $08:30$ 睡眼惺忪打开 pdf。

    $08:31$ T1 发现没有以前那么㴇了,不过还是可以快速通过的,5 分钟写完。

    $08:36$ 然后看到 T2,???什么玩意

    $08:38$ 由于没看数据范围,脑子中不停蹦出「堆」「第 K 大」什么的假算法。

    $08:42$ 然后又看到有 $85\%$ 的数据是 $n le 10000$,难不成真的 A 不掉 T2?

    跑了跑了,去看后面的题

    $08:44$ 看到 T3 光是输入方式就直接被吓跑,然后翻到了 T4。

    啊,方格取数,时隔多年再次出现在 OI 考试中(虽然只是题目一样)。

    $08:48$ 发现记忆化不好写,就想 DP。

    又发现路径不可以往左走,所以就设计了一个以列为最外层的 DP,复杂度 $O(n^2 imes m)$,可以有 70 分。

    $09:16$ 把 70 分的 DP 写完了,之后修正了一些小问题。

    $09:26$ 回来看 T2,原来 $0 le a_i  le 600$ 啊,那没事了。

    $09:39$ 直接甩一个 $O(600n)$ 的做法跑路。

    $09:45$ 等到我再次点开了逃不过的 T3,职能硬头皮重新学后缀表达式求值。

    一个特殊限制的部分分都不会写.jpg

    $10:25$ 只能一步一步把输入处理好,把栈写好,把代码写完。

    作为一个有追求的 OIer,怎么能在充裕的时间中放过部分分?

    好在几乎没有 bug,很快就通过了大样例,可以得到 $30$ 分。

    $10:30$ 不想再继续在这道题耗了,就离开了这个是非之地,开始想 T4 的满分做法。

    尝试了很多种办法,但甚至连前两个小样例都过不去。

    $10:40$ 开始实际意义上的思考:

    • 可以向上走,也可以向下走,如何排除后效性?
    • 开两个 DP 就可以了。
    • 一个记同一列从上到下递推出的最大值,另一个记同一列从下往上递推出的最大值。
    • 最后在转移到下一列之前,用一个别的变量记录这两者答案的最大值。
    • 注意第一列和最后一列要特判。

    然后就想出 100 分做法了?

    $11:10$ 改完程序,三个样例都是过的。

    $11:15$ 写了个对拍和 70 分的对,拍了上万组数据都没有挂。

    剩下的时间几乎没有做别的事情。

    $12:15$ 在出考场对答案的时候,我猛然记起,我两个 DP 是存在同一个变量数组的,只不过开 dp[N][M][2] 分别讨论。

    我却在 DP 中写的是 dp[i][j][1] 和 dp[i][j][2],我调用了 [2]……

    希望程序没事

    晚上在信奥题库自测,是 $100+100+30+100=330$,T4 竟然没有 RE?

    不过测了好几个地方没有一个是挂的。

    其余估分情况:

    Luogu nowcoder $100+100+30+100=330$

    S 组

    $13:55$ 母亲给了一片什么参的含片,结果等到我开始考试了那个味道还在嘴中环绕。

    $14:10$ 进入考场旁边的签到教室,人明显少了很多。

    $14:15$ 进入考场,结果发现键盘有点难用……

    $14:25$ 监考员允许开题面。

    扫了一下四道题,有种不祥的预感。

    T1 大模拟,T2 二进制,T3 没看出,T4 博弈论。

    $14:35$ 极力让自己冷静下来看 T1。

    $14:50$ 看了半天,只写出预处理……

    $15:05$ 写完 BC 的情况。

    $15:20$ 写完小于 1582 年的情况。

    $15:35$ 写完所有情况。

    $16:20$ 调了半天……没什么用。

    $16:40$ 打完 T2 暴力。

    $16:50$ 我也不知道哪来的自信(可能是为了多骗点数据水的分),看到部分分直接去莽线段树。

    $17:05$ 而且,线段树板子还打完了,甚至没有问题???

    $17:15$ 把 main 函数写完,并调完了程序。

    $17:35$ T4 的暴力写完了,并马上返回去调试 T1。

    结果发现随手写了一个对拍,光是大样例就排出居量的差异。

    怎么办?只能调啊。

    $17:50$ 调完了预处理的 bug。

    $18:10$ 调完了“绝大部分” bug,并在 $10^5$ 组数据中只有 3 组出问题。

    $18:15$ 发现 1582 年前,4 的倍数年份都是闰年,就改了一下,再拍只有 1 组 出问题。

    $18:20$ 把 1582 年的情况调了一下,十万组数据全过了?

    然后就检查了一下文件,今年的 CSP 之旅就结束了。

    预估:$100+40+30+20=190$,感觉全世界都比我高。

    回家,在信奥题库自测了一下,甚至没有预期的好。

    T1 从 $100$ 变成 $60$,T2 从 $40$ 变成 $20$。

    不过或许是造数据的人都是随机数据,我的 T3 才在那里有 75 分。

    然后是洛谷,结果发现更炸,T1 炸成只有 BC 的分,T3 降为 30。

    估计管理员出了一堆链、菊花图数据,然后把我的线段树卡掉。

    其实分析一下,线段树常数真的不高,最坏 $O(Q imes sum{C_j} log n)$,平均可能是 $O(Q cdot frac{sum{C_j}}{sqrt{m}} log n)$(这里我不会求,大概吧)。

    并且,整体乘以 2 操作复杂度是 $O(1)$ 的。

    以下是所有估分情况:

    洛谷:$40+15+30+20=105$

    信奥题库:$60+20+75+20=175$

    牛客:$40+20+70+20=150$

    小图灵:$40+40+55+15=150$

    好像 T3 就 luogu 卡掉了,或许分数还能高一些。

    11.16

    出成绩了。

    J:$100+100+30+100=330$

    S:$70+35+70+20=195$

    第一反应:

    ???我 S 组 T1 和 T2 还多了???T3 也没卡???

    可能这是我打的最懵逼的一次比赛吧。

    看了看 FJ 的分数,感觉整体水平不是很高,但分数也不会很低。

    有两所公立学校都有初一的考生拿到全校最高,并且过 200。

    好像市内初三段最高分是一个女生。

    技不如人,甘拜下风。

    完。

  • 相关阅读:
    168. Excel Sheet Column Title
    171. Excel Sheet Column Number
    264. Ugly Number II java solutions
    152. Maximum Product Subarray java solutions
    309. Best Time to Buy and Sell Stock with Cooldown java solutions
    120. Triangle java solutions
    300. Longest Increasing Subsequence java solutions
    63. Unique Paths II java solutions
    221. Maximal Square java solutions
    279. Perfect Squares java solutions
  • 原文地址:https://www.cnblogs.com/zengpeichen/p/13939254.html
Copyright © 2020-2023  润新知