博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ural 1353 Milliard Vasya's Function(DP)
阅读量:7217 次
发布时间:2019-06-29

本文共 759 字,大约阅读时间需要 2 分钟。

题目地址:

定义dp[i][j]。表示当前位数为i位时,各位数和为j的个数。

对于第i位数来说。总能够看成在前i-1位后面加上一个0~9。所以状态转移方程就非常easy出来了:

dp[i][j]=dp[i][j]+dp[i][j-1]+dp[i][j-2]+.......+dp[i][j-9];

最后统计就可以。

代码例如以下:

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int INF=0x3f3f3f3f;#define LL long longint dp[10][90];int main(){ int n, i, j, sum, s, k; memset(dp,0,sizeof(dp)); for(i=1;i<=9;i++) dp[1][i]=1; for(i=2;i<=9;i++) { s=0; for(j=1;j<=81;j++) { for(k=0;k
<=9;k++) { dp[i][j]+=dp[i-1][j-k]; } } } while(scanf("%d",&n)!=EOF) { if(n==1) { puts("10"); continue ; } sum=0; for(i=1;i<=9;i++) { sum+=dp[i][n]; } printf("%d\n",sum); } return 0;}

转载地址:http://xetym.baihongyu.com/

你可能感兴趣的文章
深度学习理论解释基础
查看>>
遗传算法
查看>>
将web网站移动化
查看>>
Application-Session-Cookie
查看>>
Perl的多进程框架(watcher-worker)
查看>>
phpMyAdmin 后台拿webshell
查看>>
Linux 关机 休眠, 关闭移动设备自动挂载 命令
查看>>
Html唤起手机APP,如果有就唤起,如果没有就跳到下载页。
查看>>
Java中File类如何扫描磁盘所有文件包括子目录及子目录文件
查看>>
VC++ 限制窗口的大小范围的方法
查看>>
结对开发-返回一个整数数组中最大子数组的和(首尾相接版)
查看>>
meanshift-聚类
查看>>
不要if else的编程
查看>>
rn.ShowDialog() == DialogResult.OK
查看>>
20160519
查看>>
SCU 3132(博弈)
查看>>
正则表达式
查看>>
delete archivelog all 无法彻底删除归档日志?
查看>>
Redis五大数据类型
查看>>
大型分布式网站架构技术总结
查看>>