288C Polo the Penguin and XOR operation用什么方法做?
codeforces吧
全部回复
仅看楼主
level 3
2573008024 楼主
是算法吗?
2013年04月03日 08点04分 1
level 10
我的做法是找规律..
首先写一个n!爆搜 发现至少有一个最优方案 满足:
[ 可以由0到n+1的序列分成若干段 各段翻转来得到 ]
然后就可以得到O(n^3)的朴素dp了
f[i]=max{ f[j-1]+w(j,i) : 0<j<=i }
这里w(x,y)=∑(k xor (y+x-k) : x<=k<=y)
这时候再输出最优决策
发现t-n-1一定是f[n]的最优决策 这里t是大于n的[最小的2的整数次幂]
于是对于给出的n 直接找到最优决策一步一步构造出解就好了
O(nlogn)
2013年04月04日 04点04分 2
前六行明白,后边的不是很明白,能详细点吗? 不然说一下你的账号也好
2013年04月04日 14点04分
回复 2573008024 :就是wyl8899 = =
2013年04月07日 14点04分
level 3
许多神牛用贪心,直接从N开始,把二进制的每一位取反,在互相对应一下就行了。。。
2013年04月29日 07点04分 3
1