自己左脑右脑博弈了 50min,结果发现正解就是暴力试
不管怎么说,纪念首次通过交互题。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
题意解析:
交互题。
你有 nnn 个电池,其中有 a(a≥2)a(a\ge 2)a(a≥2) 个电池是能用的,(n−a)(n-a)(n−a) 个电池不能用。但你不知道哪些电池能用,你甚至不知道 aaa 的值。
你需要找到两个能用的电池来组装你的手电筒。你可以进行如下的尝试操作:
* 选择两个数 x,y(x≠y)x,y(x\not= y)x,y(x=y)。
* 将第 xxx,第 yyy 个电池装进你的手电筒,如果这两个电池都是能用的,则手电筒发光;否则手电筒不发光。
问:这两节电池应_______(选填“串联”或“并联”)。
由于出题人不想你太快得出结论,所以他要求你进行不超过 ⌊n2a⌋\lfloor\frac{n^2}{a}\rfloor⌊an2 ⌋ 次尝试操作。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
考虑如下方法:
首先尝试 x=1,y=2x=1,y=2x=1,y=2,x=2,y=3x=2,y=3x=2,y=3,...,x=n−1,y=nx=n-1,y=nx=n−1,y=n。如果没有一次手电筒发光的情况,则说明任意两个好的电池的距离 ≥2\ge 2≥2,可以推导出 a≤⌈n2⌉a\le \lceil\frac{n}{2}\rceila≤⌈2n ⌉。
然后尝试 x=1,y=3x=1,y=3x=1,y=3,x=2,y=4x=2,y=4x=2,y=4,...,x=n−2,y=nx=n-2,y=nx=n−2,y=n。同理,如果没有一次手电筒发光的情况,则 a≤⌈n3⌉a\le\lceil\frac{n}{3}\rceila≤⌈3n ⌉。
接着尝试距离为 3,4,5,...3,4,5,...3,4,5,... 的,直到试出来为止。
假设正整数 kkk 满足 ⌈nk−1⌉<a≤⌈nk⌉\lceil\frac{n}{k-1}\rceil\lt a\le \lceil\frac{n}{k}\rceil⌈k−1n ⌉<a≤⌈kn ⌉。
则 k≤⌊na⌋k\le \lfloor\frac{n}{a}\rfloork≤⌊an ⌋。
则按照上面的方法会试不超过 n+(n−1)+(n−2)+...+(n−k−1)<nkn+(n-1)+(n-2)+...+(n-k-1)\lt nkn+(n−1)+(n−2)+...+(n−k−1)<nk 次。
即尝试次数不超过 n×⌊na⌋≤⌊n2a⌋n\times \lfloor\frac{n}{a}\rfloor\le \lfloor\frac{n^2}{a}\rfloorn×⌊an ⌋≤⌊an2 ⌋ 次,可以通过。