NOI模拟赛 5.4
赛时时间安排
读题 7:35-8:05
今天T3的题面有些小细节很奇怪,譬如:
两条公路只会在景区处相交,每条公路均平直(只能上/右),1号景区开始可以到达任何一个景区,从任何一个景区开始都可以到n号景区,边数与点数差异很小
于是相比平时在读题上多花了些时间,琢磨题意
T1 8:05-9:05
读完题莫名有点困,又撞上电脑不知道为什么一直编译失败,重启了电脑才可以生成可执行文件,于是花了大约1h才码完第一档分
T3 9:05-10:15
读题时T3注意到很多细节,就先去看T3了,发现果然细节是有用的,可能是保证复杂度的关键。
细节 | 信息 |
---|---|
两条公路只会在景区处相交+边数与点数差异很小 | 每个景点至多有两个出度 |
每条公路均平直(只能上/右) | 方向可能比较关键 |
1号景区开始可以到达任何一个景区,从任何一个景区开始都可以到n号景区 | (1)某些答案可能需要从1/n号节点处获取(2)某些函数要从1/n号点开始以保证复杂度 |
然后开始从最简单的点边全满网格图开始一点点想做法,再加上某些函数要从1/n号点开始以保证复杂度及其它一些提示,花了约30min确定了最终做法,就码了。
T2 10:15-10:50
发现60pts几行代码直接送,真香!打了后想了十几分钟,感觉可能要用数据结构维护凸壳,但对于具体如何维护没有头绪,就先溜去看T1了。
T1 10:50-11:45
10:50-11:15 发现链的部分分中好多东西都不需要考虑,打个组合数就行了
11:15-11:45 对T3进行了重新思考,发现如果延续前两档分的预处理所有答案+组合选点的做法的话后两档分没什么差别,就一起考虑了。发现相比链的部分分而言,为了不多计数/少计数,需要多考虑很多细节,期间hack掉了自己的许多想法,最终于11:45左右想出了最终的做法(赛后发现,到11:45其实也只是把正解的大体思路想了出来,而代码实现时需要考虑的细节颇多,赛后又花了2h,并且重构了一次代码才最终打出本题)。
检查 11:45-12:00
进行了常规的检查,就交题了
赛后总结反思
T3
锻炼了下整理信息与分析问题的能力,发现很多构造/图论题都需要格外关注题面细节,并且从最简单的情况入手一步步增加问题的难度通常是一个不错的思考方向。
T2
上个月末的一场模拟赛也出现了取整函数+凸壳的类型,发现对于带取整的问题/凸壳的维护还不太熟悉,打算找些题做做。
T1
改题过程中感觉暴力代码非常重要,可以帮助自己更有针对性地调试。