繁繁的数字 背包DP

问一个数\(n\)有多少种二进制分解方案数

\(n\le 10^5\)

如7有7=4+2+1=4+1+1+1=2+2+2+1=2+2+1+1+1=2+1+1+1+1+1=1+1+1+1+1+1+1,共6种方案

一眼完全背包,将\(2^0,2^1\cdots\)等看成\(log_n\)个物品,每个物品无限件,背包体积为\(n\)。然后求方案数套个计数DP即可。

其他机房大佬都是找规律找出来的……

#include <cstdio>
#define MAXN 1000010
#define MOD 1000000007
#define ll long long
using namespace std;
int n;
ll f[MAXN];
int main()
{
//freopen("number.in","r",stdin);
//freopen("number.out","w",stdout);
scanf("%d", &n);
f[0]=1;
int tmp=0;
for(int i=0;tmp=(1<<i),tmp<=n;++i){
for(int j=0;j<=n;++j)
if(j>=tmp)
f[j]=(f[j]+f[j-tmp])%MOD;
}
printf("%lld", f[n]);
return 0;
}

最新文章

  1. Java多线程--线程安全问题的相关研究
  2. 用Python的xlrd模块处理时间单元格
  3. Mark Down 尝试
  4. 动态规划(DP)
  5. Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
  6. mybaits注解
  7. PPTP VPN 一键安装包(图文,OpenVZ适用)[zz]
  8. 重启猫(modem)的方法
  9. Hadoop学习(3)-- 安装1.x版本
  10. 32+激发灵感的HTML5/CSS3网页设计教程
  11. 9款完美体验的HTML5/jQuery应用
  12. linux crontab 命令
  13. ACE 6.2.0 win7_64 编译
  14. watchdog(IWDG)
  15. Android startActivity原理分析(基于Android 8.1 AOSP)
  16. 【原创项目】GC Server 更新
  17. centos 后台挂起运行python
  18. 利用java8对设计模式的重构
  19. TOJ 2778 数据结构练习题――分油问题(广搜和哈希)
  20. EGOCache缓存框架详细讲解

热门文章

  1. wait(),notify(),notifyAll()必须加锁的原因
  2. Synchronized 与Lock的不同之处
  3. How to read request body in a asp.net core webapi controller?
  4. VS 引用dll版本冲突问题
  5. 浅谈对BFC的认识,以及用bfc解决浮动问题
  6. Matlab相关函数使用
  7. iOS加解密最重要的干货:CCCrypt
  8. Python2 和 pip2 存在, Python3 也存在,但是 pip3 不存在的解决办法
  9. python02---基础数据类型
  10. MySQL Backup--Xtrabackup备份设置锁等待问题