牛客挑战赛54 ABCD题解
A. 小葱的01串
Solution
显然为了满足染色后红色和白色的0/1数目相同,设原串中有 个 0, 个 1 我们染色的区间里一定满足有 个 0 和 个1,那么我们枚举每个端点作为左边界,二分右边界看是否符合即可。由于是环形,只需要把字符串扩展为原来的两倍。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49460859
B. 小䓤的一些数字
Solution
注意到 ,我们都知道 的公式,而 时,暴力计算的区间不会超过 ,所以只需要考虑 的情况,打表OEIS找规律得出 公式为 ,注意要用__int128。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49462912
C. 小䓤的一个数字
Solution
不难发现,每个 1 都能通过他的低位翻转再经操作 2 得到,所以只需要枚举使用 次操作 2,此时每个 1 的花费是 ,最后不要忘记加上 。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49461818
D.
Solution
对于最后剩下因子 的概率是 ,最后这个因子的贡献是 ,所以直接统计就好啦。
Code
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49462556
一些比赛的题解 文章被收录于专栏
一些比赛的题解