Loading

题解 [IOI 2023 集训队互测 Day8] 大冬天题

题意

给定偶数 \(n\) 和正整数 \(k\),保证 \(n\ge 2k\)。将 \(S=\{n-1,n-3,\dots,n-(2k-1)\}\)\(T=\{n+1,n+3,\dots,n+(2k-1)\}\) 中的数配对,使得每对数 \((x,y)\) 均有 \(x\perp y\)

\(n\le 10^{100},k\le 10^6\)

题解

按照 \(n-1,n-3,\dots\) 这个顺序考虑是不行的,所以从小往大进行匹配。

对于最小的 \(x\in S\),找到最小的 \(y\in T\) 使得 \(y-x\)\(2\) 的幂次。显然 \(x\perp y\),也显然能够找到这样的 \(y\)。然后将 \((x+2,y+2),(x+4,y+4),\dots\) 配对,这样能够消去 \(S\) 中最小的若干个数和 \(T\) 中最大的若干个数,对于剩下的部分递归做即可。

posted @ 2023-11-01 21:28  Alan_Zhao_2007  阅读(0)  评论(0)    收藏  举报