挑几道题讲讲
Chefina and Swap
由于我比较傻,所以列了个暴力的式子:(Ans=sumlimits_{i=1}^nsumlimits_{j=1}^{i}sumlimits_{k=i+1}^n [k-j={n+1choose 2}-{i+1choose 2}])
然后化简后能得到三个单调的区间,然后二分,加上自然数二次幂、三次幂求和。(O(logn))
被官方题解吊着打
对于存在(i)使得({i+1choose 2}=sum/2(sum~is~even))很简单
否则对于唯一的(i),({i+1choose 2})较小,({i+2choose 2}较大),使得交换([1,i])与([i+1,n])内的才能合法
Divide Candies
我瞎写了个乱搞硬艹过去了code
被官方题解吊着打
对于(N=1~or~Nequiv 2(mod~4))答案是只能是奇数
结论1:(对于K=M),(x^K,(x+1)^K,(x+2)^K,cdots,(x+2^{K+1}-1)^K),一定存在最小差(0)
对(K)施归纳,令对于(M=0)显然成立
(egin{aligned}Sum(B) - Sum(A) &= - sum_{i = x}^{x + 2^{M + 1} - 1} i^M * (-1)^{bits(i)} \ &= sum_{i = x}^{x + 2^M - 1} ((i + 2^M)^M - i^M) * (-1)^{bits(i)} \ &= sum_{i = x}^{x + 2^M - 1} (sum_{j = 0}^{M - 1} i^j inom{M}{j} (2^M)^{M - j})* (-1)^{bits(i)} \ &= sum_{j = 0}^{M - 1} inom{M}{j} (2^M)^{M - j} sum_{i = x}^{x + 2^M - 1} i^j * (-1)^{bits(i)}end{aligned})
打表可以发现,(2^{K+1}le N<2^{K+2})时是对的,(N>2^{K+2})的情况可以反复删掉末尾(2^{K+1})个
可以对(N<2^{K+2})写个布尔型背包,用bitset优化