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
先咕咕。