POI 做题记录
PAL-Palindromes
若 \(s\) 和 \(t\) 拼起来回文则 \(hash_s \times base^{|t|} + hash_t = hast_t \times base^{|s|} + hash_s\), 把 \(s\) 放一起 \(t\) 放一起得到 $$\dfrac{hash_s}{base^{|s|} - 1}=\dfrac{hash_t}{base^{|t|}-1}$$
开 map 统计即可
反素数
注意到答案就是 \(n\) 以内约数最多的数中最小的那个,如果不是最小的,不能满足小于答案的数的约数都小于答案的约数。发现有两个性质:
- 最多 10 个约数,指数最大为 30
- 分解出来的质因数指数单调不增,否则可以交换两个质因数的指数使约数个数一样,答案更小
SZP
没有环的部分直接贪心做,有环部分答案是 \(\lfloor\) 环的长度 / 2 \(\rfloor\)
SAM-Toy Cars
每次选择最晚需要用到的玩具取走,用优先队列维护。注意这里有个 trick: 优先队列不能更新,如果地上已经有这个玩具了,可以发现原本的版本不会再被用到,所以可以不删除,就让 \(k \leftarrow k+1\) 然后重新入队。
SKA-Piggy Banks
所有的入度为 \(1\) 的特殊性在于每个环都出现在连通块的开头,且每个连通块有且只有一个环。这使得可以用并查集。
LOT-A Journey to Mars
先断环成链,然后维护一个前缀和,单调队列优化使得区间最小值 \(\ge 0\) 即可
LOG
将所有 \(>s\) 的数推平成 \(s\) 就变成了全局和是否 \(\ge c \times s\), 树状数组维护即可。

浙公网安备 33010602011771号