A. 小葱的01串

Solution

显然为了满足染色后红色和白色的0/1数目相同,设原串中有 ll 个 0,rr 个 1 我们染色的区间里一定满足有 l2\frac{l}{2} 个 0 和 r2\frac{r}{2} 个1,那么我们枚举每个端点作为左边界,二分右边界看是否符合即可。由于是环形,只需要把字符串扩展为原来的两倍。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49460859

B. 小䓤的一些数字

Solution

注意到 k20k \leq 20,我们都知道 k=1k = 1 的公式,而 k3k \geq 3 时,暴力计算的区间不会超过 10610^6,所以只需要考虑 k=2k = 2 的情况,打表OEIS找规律得出 i=1ni\sum\limits_{i = 1}^{n}\lfloor \sqrt{i} \rfloor 公式为 kn(k(2k+5)(k1)/6)k \cdot n - (k \cdot (2 \cdot k+5) \cdot (k-1)/6),注意要用__int128。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49462912

C. 小䓤的一个数字

Solution

不难发现,每个 1 都能通过他的低位翻转再经操作 2 得到,所以只需要枚举使用 xx 次操作 2,此时每个 1 的花费是 min{ak},ixkimin \{a_k\}, i - x \leq k \leq i,最后不要忘记加上 xbx \cdot b

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49461818

D.

Solution

对于最后剩下因子 pip_i 的概率是 probability=cii=1nciprobability = \frac{c_i}{\sum\limits_{i = 1}^n c_i},最后这个因子的贡献是 probabilitypii=1nciprobability \cdot p_i^{\sum\limits_{i = 1}^n c_i},所以直接统计就好啦。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49462556