牛客小白月赛97

C

注意:长度为 \(n\) 的值域为 \([1,m]\) 的单调递增序列个数为 \(C(n, m)\)

你说得对,但是我用了前缀和优化 dp,然后发现等价的。

D

注意:\(p^{hxy} \bmod (p-1)\) 一定是 \(1\)

然后就是简单的 bfs 了。

E

注意到答案区间连续,那么只需要构造出 maxn, minn。

发现值域很小,而贪心就是把正数和负数分别放在前面,所以模拟即可。

F

长度不同的长度和为 \(S\),则长度一共可能有最多 \(\sqrt S\) 种,即从 \(1\) 开始。

那么每种长度存一个 unordered_map,然后按 \(k\) 排序,查找即可。复杂度是根号乘 n。

听说这玩意常数大但是 \(O(1)\)?也就是除了 cf 以外都可以尝试替换 map。

另一种就是 \(len>=B\) 就 kmp,单次 \(O(n)\),乘上可能次数 \(\sum |T|/B\)

否则把这些 \(len\)\(T\) 全部存下来,还是像上面一样查找。

由于空间 32MB,所以自己试 \(B\)

posted @ 2024-06-28 21:47  LCat90  阅读(47)  评论(0编辑  收藏  举报