专栏文章

题解:CF2065E Skibidus and Rizz

CF2065E题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqa6kx4
此快照首次捕获于
2025/12/04 01:28
3 个月前
此快照最后确认于
2025/12/04 01:28
3 个月前
查看原文

题面

要求构造一个长度为 n+mn+m 的 01 串,其中 0 有 nn 个,1 有 mm 个,且它的所有子串中,0 与 1 的差最大的恰好为 kk

思路

无解 1-1 的情况有两种,即为 n<kn<km<km<k,或者 max(n,m)min(n,m)>k\max(n,m)-\min(n,m)>k 都很好理解。
能发现,形如
CPP
1010...101011...1100...001010...1010
这样的串,左右两侧的 01 交替串对中间并没有贡献。
所以,可以先把 nn 个 1 和 mm 个 0 先连续放在左右两侧,接着,从两侧开始隔一位交换一对 0 和 1,直到中间的连续 1 和 0 有一个等于 kk
CPP
000..00111..11
变为
CPP
01000..0011..11101
再变为
CPP
010101...00..0011..11..010101
还有一些细节稍微处理一下就 A 啦!

评论

0 条评论,欢迎与作者交流。

正在加载评论...