基础动态规划-(1)(1)Sumsets POJ
来源:互联网 发布:php有必要培训吗 编辑:程序博客网 时间:2024/06/08 14:51
题意://求把一个整数分解为2的幂的和共有几种方案 。
规律:若数字为奇数,则情况数等于它前面的那个偶数的情况数,若为偶数,则等于它之前两位的情况数加上它除以2之后的情况数。
AC:
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
using namespace std;
long long dp[1000005];
int main()
{
int n;
dp[1]=1;
dp[2]=2;
for(int i=3;i<=1000000;i++) //打表
{
if(i%2==0)
{
dp[i]=dp[i-2]+dp[i/2];
}
else
dp[i]=dp[i-1];
dp[i]%=1000000000; //题目要求输出后9位
}
while(cin>>n)
{
cout<<dp[n]<<endl;
}
return 0;
}
阅读全文
0 0
- 基础动态规划-(1)(1)Sumsets POJ
- POJ - 2229 Sumsets (动态规划)
- poj2229--Sumsets(动态规划)
- poj 2229 Sumsets 【动态规划】
- POJ 2229 Sumsets 动态规划 详解
- POJ 2229 Sumsets(基础dp)
- 最基础的动态规划(1)——POJ 3176 POJ 1163 相同的题
- POJ2229 Sumsets 动态规划
- poj 2229 Sumsets (DP)
- POJ 2229-Sumsets(DP)
- POJ 2229 Sumsets (dp)
- POJ 2229 Sumsets(dp)
- poj--2549--Sumsets(二分)
- 【动态规划(一)】动态规划基础
- poj 3267(动态规划)
- 动态规划(poj 3176)
- POJ 2479 (动态规划)
- 动态规划(1)
- Spring
- [编程题] 双核处理
- Linux常用命令之系统管理
- PHP Web框架推荐(字母排序)
- dubbo--invoker部分类图
- 基础动态规划-(1)(1)Sumsets POJ
- orcale的大致了解
- C语言内存知识补充
- 贪心算法——C++实现经典案例——中级
- python爬虫学习第二十四天
- JavaScript学习之用数组实现图片轮播
- list集合迭代过程中增删出现异常,及解决方法
- String to Integer (atoi) LeetCode 解题报告
- VBA学习1_教你快速入门Excel-宏与VBA(上)