NOIP 2020 自闭记 暨 后期计划

Day 2459184

试了一下 10 min 提交框 AC 线段树板子,结果写 + 调一共花了 11 min。/kk

Day 2459185

早上去考场,进考场后本来想调一下配置,结果被工作人员喊不能碰鼠标键盘。空格键敲起来很不舒服,必须敲到中间,敲两边的话另一边会翘起来。

一发题大家就都开始写板子。

开场看题,感觉 T1 sb 题,T2 KMP / 后缀数据结构 / 哈希,T3 玄学构造,T4 数学。

T1 写的时候专门先除后乘怕爆 long long,又仔细思考了一番最后答案会不会爆。

  • 应该不会吧?出题人都保证度数与路径长度了。
  • 再估计一下?(5^{10}) 怎么都爆不了吧;
  • 好像是 (60^{10}),扔进计算器算了一波,数了一遍位数,好像是存的下。

于是没有发现分母最大为 (60^{11}),暴毙。

之后推 T2,没有想到 KMP 或者别的什么算法怎么做,不知道题目要求的 (f(A)<f(C)) 是为了更可做而添加的条件还是为了加强而添加的限制。T3 看了半天也没想到什么构造方式,还拿不准题目难度,倒是发现数据范围的锅,故举手报告。看了一看 T4 也没有什么思路,只觉得可以每一维先分别处理。回去给自己 T1 出了几个数据。

于是又回去整 T2,整着整着整出了一个 (O(nlog n+nsigma)) 的做法(依赖哈希),写完了之后造极限数据跑很久,于是灵机一动把一处枚举改为二分,得到 (O( ext{玄学}+nsigma n)) 的做法(考后用 wf 算了一下前面那个“玄学”是 (O(n)) 的),极限数据跑了 2 s,心想考场机子特别慢,而且 (sigma) 的常数较小,于是没有继续优化(其实可以再优化至 (O(n+log sigma n)))。

T3 我选了一个最好想(当然也最没有前途)的思路,即直接每次操作将一个球移到指定位置,所有球依次还原,于是花了一个多小时写了一个 (O(nm^2)) 的做法,且自带巨大常数。本希望把编号小的球往左边放,编号大的球往右边放可以让操作数减少许多,甚至摊煎饼可以摊掉一些复杂度,结果这种做法着实没有前途。

只剩一个多小时,T4 先写了一个指数级的暴力。一看时间还够,故写了一个一维空间的部分分,再用处理一维空间的方式对于每一维分别处理、排序、指针扫过去试着过 (wleq 10^6) 的点,发现跑十维的点要跑 5 s 多,故放弃卡常,转而去 Ubuntu 编译。

Day 2459186+ · 计划

  • 高一可以冲一下省队,高二全力以赴;
  • 计算几何、字符串尤为短板,尤其是其中卡精度等细节需靠经验积累;
  • (大)数据结构题经验不足;
    • 尤其是各种分治;
  • 多项式科技得有所了解,并且应背一份小常数板子;
  • 数论有一堆板子(离散对数、x 次剩余、min_25 筛……)还不熟;
  • 各种板子不难写但是整体代码不好写的题;
  • ……
知识共享许可协议
若文章内无特别说明,公开文章采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
原文地址:https://www.cnblogs.com/wallbreaker5th/p/14105399.html