二进制相关
cjk_cjk
这个作者很懒,什么都没留下…
展开
-
BZOJ3209 花神的数论题(数位dp)
【题解】数位dp的思想 枚举的是二进制数 先预处理出所有i位二进制数中,含j个1的数的个数,就是C(i,j)然后就是从高位到低位,处理填0还是1的情况 填0:之后i-1位随机填0/1填1:紧接着的 n对应的二进制数该位为0 的位只能填0(否则超过n) 注意该算法计数到的所有情况不含SUM(n)!因此读入时,n++数位dp是不是基本都要预处理 = =原创 2015-01-31 23:45:31 · 768 阅读 · 0 评论 -
[APIO2015]巴厘岛的雕塑(数位dp)
【题解】引用ZYF神犇一句话:"显然位运算的极值问题都应该从高位向低位考虑。优先让这一位为0,如果行的话这一位就是0,否则就设为1。" 设答案为ans,从高位到低位枚举 是否有使ans的这一位为0的方案,注意到每一位是互相独立的 假设枚举到了倒数第x位,即ans的最高位到倒数第x+1位的最优01分布已确定,现在正在判断第x位是否有可能填0:对于每个x,考虑递推法:设原创 2015-06-12 16:53:29 · 1146 阅读 · 0 评论 -
[NOI2014]起床困难综合症(二进制拆分+贪心)
【题解】还是老思路:二进制位运算的题,我们单独考虑每一位,最后合并答案 这道题中:在0~m中选一个数"丢"到那一堆运算里,相当于判断从每一位"丢"下去0或1后,得出结果的高位尽量是1的方案 为了方便,我们直接丢两个数:0000000……000与1111111……111,就可以O(2*n)求出每一位"丢"0或是"丢"1能得到的方案了,并不需要每一位"丢"两次 然后从高位到低位贪心地判原创 2015-07-13 00:20:27 · 903 阅读 · 0 评论