题解
给定一个长度为
N
N
N 的区间A, 其中隐藏着一个长度为
K
K
K 的段, 记作B; 其位置是不确定的
比如,
N
=
5
,
K
=
3
N = 5, K = 3
N=5,K=3, 那么这个B 可能在[1,2,3] 可能在[2,3,4] 可能是[3,4,5]
你可以从A中, 选择若干个位置, 使得: 剩余的A中, 一定不可能存在B (即不存在长度>=K的段)
问最少选择多少个位置, 且输出方案;
正确的方法是: 选择[K] [2K] [3K] …, 直到不存在长度>=K的段;
比如,
N
=
8
,
K
=
3
N = 8, K = 3
N=8,K=3, 选择: 1, 2, [3], 4, 5, [6], 7, 8; (选择3,6)
看一种错误的思路: 如果用二分: 第一次选择中间[4], 剩余: [1,2,3] [5,6,7,8]
然后选择2 和 6, 最终得到: [1] [3] [5] [7,8]
… 需要选择3个