A BBQ Easy
排序贪心,两个两个选。
B Mysterious Light
容易归化成下面的形式,于是可以在与辗转相除法相同的时间复杂度内求解。
C Shorten Diameter
枚举树的所有可能中心,然后删掉那些距离中心超过 K 2 \frac{K}{2} 2K 的点即可。
D Arrays and Palindrome
首先考虑什么情况下无解:如果把两个排列所有相应位置连边,那么至少要是一棵树才能保证所有位置字符相同。一个排列中有一个奇数就少半条边,因此如果 a a a 有多于两个奇数,那么边的个数必然小于 N − 1 N-1 N−1。这时无解。
再考虑方案的构造。答案给的构造是:先把 a a a 的奇数放两边,然后
b i = { a i − 1 if i = 1 a i + 1 if i = M a i otherwise b_i = \begin{cases} a_i -1& \text{if } i = 1 \\ a_i + 1 & \text{if } i = M \\ a_i & \text{otherwise} \end{cases} bi=⎩⎪⎨⎪⎧ai−1ai+1aiif i=1if i=Motherwise
可以证明这样是合法的。
E BBQ Hard
考虑有两个串 ( a i , b i ) , ( a j , b j ) (a_i, b_i),(a_j, b_j) (ai,bi),(aj,bj),那么方案数就是 ( a i + a j + b i + b j a i + a j ) \binom{a_i+a_j+b_i+b_j}{a_i+a_j} (