Codeforces Round #775 div2 题解

A

考虑免费跳一次,那么找到前面和后面第一个水,答案为这两个位置的差。

B

手玩发现我拿最大值去减其他可以减的,如果最后最大值还为整数,那么就是最大值个数,否则就只用 \(1\) 个球。

需要 long long。

C

对于每种颜色分别存下位置,然后将 \(x\)\(y\) 坐标分别存下来,两边拆开做前缀和单独计算。

D

考虑枚举一个数 \(val\) 的倍数,每次查看 \(ival \sim (i+1)val - 1\) 中是否有数,如果有检查序列中是否有 \(i\)

E

考虑对于原串 \(s\) 的不重合组成方式为 \(\dfrac{(cnt_1+cnt_2+\dots+cnt_n)!}{cnt_1! \times cnt_{2}! \times \dots \times cnt_n!}\)

然后考虑对每个位置进行计算,前面要求前缀一样,然后后面随便放,这个位置比他大,使用组合数计算即可,用一个 BIT 维护计算。

然后有可能排列出来的字符串为 \(t\) 一个前缀的情况,这个时候需要记录一下,然后 +1。

记得最后 +1 之后取模。

F

先咕咕。

posted @ 2022-03-07 20:34  Pitiless0514  阅读(53)  评论(2编辑  收藏  举报