Milliard Vasya's Function-Ural1353动态规划
2016-02-20 11:29
323 查看
Time limit: 1.0 second | Memory limit: 64 MB |
---|
Input
Integer S (1 ≤ S ≤ 81).
Output
The milliard VF value in the point S.
Sample
input | output |
---|---|
1 | 10 |
Problem Source: USU Junior Championship March’2005
计算[0,10^9]之间有多少各数的各位之和为s,Dp[i][j]表示前i位中和为j的个数,则对于第i为k是它的个数为Dp[i][j]+=Dp[i-1][j-k].
所以递推式就出来了。
#include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <iostream> #include <algorithm> using namespace std; int Dp[10][83]; int main() { memset(Dp,0,sizeof(Dp)); for(int i = 0;i<=9;i++)//初始化第一位 { Dp[1][i]=1; } for(int i=2;i<=9;i++) { for(int j=0;j<=81;j++) { Dp[i][j]= Dp[i-1][j]; } for(int j=0;j<=81;j++) { for(int s = 1;s<=9&&s<=j;s++) { Dp[i][j] +=Dp[i-1][j-s]; } } } int n; Dp[9][1]++;//因为1000000000计算不到,所以要加上 while(~scanf("%d",&n)) { printf("%d\n",Dp[9] ); } return 0; }
相关文章推荐
- 七层敲通线
- ld: library not found for -lXXXXX 编译问题的三个解决方法
- Java-线程间通信
- SCHED_OTHER,SCHED_FIFO,SCHED_RR-intentness-ChinaUnix博客
- ise与win8兼容解决方案
- Milliard Vasya's Function-Ural1353动态规划
- 以《西游记》为例 详解游戏设计归纳演绎法
- Oracle 11G R2 DataGuard日常维护及故障处理
- 支持不同的屏幕
- Pandas学习笔记(二)
- 隐写分析中的一些概念与问题
- qt安装教程
- iOS Core Animation 简明系列教程
- 支持不同的语言
- js正则表达式验证手机号码和邮箱
- 李开复:算法的力量
- VS2013 平台下搭建 QT5.3 开发环境
- 支持不同的设备
- 检测网络连接具体类型:2g/3g/4g(iOS7+)
- Spoon技术应用于UiAutomator自动化测试