占坑待补。
1、数位dp:
数位dp论文
http://wenku.baidu.com/link?url=967OXYqlrJC6X4kHfOIhIloao2vnoX3-V5X45w9q3plRy0D9ifraD_TzPIHj2BrAxrDIHj31bLzcAAnciWOHmvhMnxz3tCMI7v0PIdPDg27
ural 1057
给定区间,统计总和等于k个不相等的b的整数幂的个数。k和b范围1~20。
显然就是数位dp前i位有j个1,但是由于这是b进制,所以需要转换,把边界数字转化为不大于它的最大1组成的b进制。
然后就是借助二叉树这个工具进行思考,每次右转的时候把左子树加进来。
有一个想了很久才想通的问题d[i][j]其实本身不是一个二叉树,而是包含两个二叉树,一个根是0,一个根是1,
但是计算边界对应的答案的时候方便起见用0根。
计算二进制的时候>>1放在a[i]=tmp%b后面了导致二进制多了一位坑了1个半小时
#include #include #include #include #include #include #include #include
View Code