牛客小白月赛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\)。