nyoj281 整数中的1(二) 数位DP
来源:互联网 发布:mac怎么卸载webstorm 编辑:程序博客网 时间:2024/06/15 19:04
和整数中的1一毛一样。就是输入时改了一下罢了。
AC代码:
#include<cstdio>const int maxn = 35;int w[maxn], h[maxn];void deal(){h[0] = 0;w[0] = 1;w[1] = 2;h[1] = 1;for(int i = 2; i < 31; ++i) {w[i] = w[i - 1] * 2;h[i] = h[i - 1] + w[i - 1] + h[i - 1];}}int solve(int n){if(n == -1) return 0;int cnt = 0;int m = n;while(m > 0){if(m & 1) cnt++;m >>= 1;}int ans = cnt;for(int i = 1; n > 0; ++i, n >>= 1){if((n & 1) == 0) continue;cnt--;ans += cnt * w[i - 1] + h[i - 1];}return ans;}int main(){deal();int a, b;while(scanf("%d%d", &a, &b) == 2 && (a || b)){printf("%d\n", solve(b) - solve(a - 1));}return 0;}
如有不当之处欢迎指出!
0 0
- nyoj281 整数中的1(二) 数位DP
- nyoj222 整数中的1 数位DP
- 整数中的1(二)
- nyoj 176 整数划分(二)【dp】
- NYOJ 176 整数划分(二)(DP)
- NYOJ176 整数划分(二)(DP,DFS)
- 动态规划——数位dp入门(二)
- 题目1373:整数中1出现的次数(从1到n整数中1出现的次数) 数位DP
- hdu3652(数位DP)
- hdu3709(数位dp)
- codeforces55D(数位DP)
- hdu4734(数位DP)
- ural1057(数位dp)
- lightoj1205(数位DP)
- hdu4352(数位DP)
- hdu4507(数位DP)
- hdu4734(数位DP)
- poj2282(数位dp)
- mysql
- poj 3581 Sequence 后缀数组
- git 提交代码
- windows安装服务命令sc
- matlab纵向一维数组(向量)维数不一样尾部延展合成
- nyoj281 整数中的1(二) 数位DP
- uml类图
- IO流_字节流复制文本文件案例1
- C#时间间隔
- 教你如何一眼认出英语单词的意思
- JS将秒转换为 天-时-分-秒
- HDU1010 Tempter of the Bone
- 操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用
- Xcode8.x使用CoreData模型出现类被非法重定义的解决办法