NOI(p)模拟赛 5.30
赛时时间安排
7:10-7:30 看题,暂时没想正解,感觉今天暴力分真多啊
7:30-8:30 想了会儿T1,感觉可能是整除分块,但不太会维护,决定先码暴力,打的过程中尽量缩写常数,最后水到了据说是给码正解但被卡常的选手准备的80pts。
8:30-9:30 想了会儿,发现了整个串有循环节,这个循环节长度似乎小于n,于是对暴力有了底气,大力枚举了50pts
9:30-11:00 一开始只会30pts,后来感觉在哪儿见过类似的结论,想了想,发现排序不会影响答案,然后利用发现的性质先码了50pts暴力,然后费了一番功夫把它搬到了Trie树上
11:00-11:15 检查了检查就交题了
赛后总结反思
T1/T3:对基础算法不熟悉
对之前学过了某些基础算法不太熟悉,例如 没有想到用 整除分块+树上差分 解决T1;由于太久不做Trie树,T3的调试比预计多花了些时间。
这些问题可能是相对好解决的,决定抽空过一下基础算法
T2:数论基础薄弱
最近发现数论问题是一个弱项,主要原因是最初学的时候打的题大多比较板子,没有太多需要推导的地方;进入省选阶段后,又几乎没遇到过数论题。
有空的话需要补补紫题左右的数论题
T2:观察没到位
实际上T2不需要数论知识也可过掉这道题。不管用不用数论知识,都需要发现整个串的循环关系可以分为多个简单环,但赛场上停留在了整个串有循环节这一步。
原因是太小的数据根本不会有多个环,观察的时候也没盯住一个位置观察,下次观察性质可以适当观察较大的数据,尝试多角度观察。