本题要求最小的连续修改长度 k,使得在不超过 m 次操作的限制下,能将初始序列全部变为 R。每次操作可将从某个位置开始的连续 k 个字符全部改为 R,且所有操作使用的 k 必须相同。
我们可以采用二分答案的方法进行求解:
W,则不需要任何操作,直接输出 0。check(mid) 函数判断该 k 值能否在 m 次操作内完成目标:有一个长度为 n 的序列,每个位置上的字符是 R 或 W。你希望经过若干次操作后,使序列中所有位置都变为 R。
每一次操作可以选择一个起始位置,并将从这个位置开始的连续 k 个字符全部改为 R。你最多只能进行 m 次操作,并且每一次操作使用的 k 必须相同。
你需要求出最小的 k,使得存在一种操作方案,在不超过 m 次操作的前提下,能将整个序列全部变为 R。如果序列初始时已经全部是 R,则不需要任何操作,此时的答案视为 0。
约束条件:
本题属于以下题库,请选择所需题库进行购买
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册