NYOJ_269_VF
2024-05-17 02:51:56
个人觉得DP最烦的就是确定初始边界,比如说这题,求10^9的数内各个数位相加的和中有多少个数的数位和等于S
初始条件:dp[0][j]=1 j=1、2…9
状态转移方程:
dp[i][j]表示:和为i,不超过j个数相加的符合条件的数有多少个
dp[i][j]=sum{dp[i-k][j-1] k=0、1…9}
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<string> using namespace std; int main() {int i,j,k,dp[89][30]={0},n;for(i=0;i<12;++i)dp[0][i]=1;for(i=1;i<82;++i)for(j=1;j<10;++j) //10^9,只需要算9位就好了for(k=0;k<10&&i-k>=0;++k) //k表示第j位为k {if(dp[i-k][j-1]) //如果前面的数位能组合成和i-kdp[i][j]+=dp[i-k][j-1];}while(~scanf("%d",&n)){if(n==1) //特判一下printf("10\n");else printf("%d\n",dp[n][9]);}return 0; }
转载于:https://www.cnblogs.com/A-way/archive/2013/05/04/3059323.html
NYOJ_269_VF相关推荐
最新文章
- 投稿 | “轻量应用服务器”征文活动正式启动
- 如何看待雅虎套现760亿美元从阿里巴巴退出?
- android服务器 性能,Android性能优化(中)
- c语言 a 0,[整理]C语言中的a,a和a[0]
- php json_decode NULL
- 拓端tecdat:R语言KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最优聚类数
- 拓端tecdat|在Python和R中使用交叉验证方法提高模型性能
- win10-如何管理开机启动项?
- android 源码编译adb,ADB 源程序从android源码中提取
- PPI | protein-protein interaction | 蛋白互作分析 | gene interaction | 基因互作
- MIPS架构与指令简介
- python学习日常-----作业(4)
- 鼠标点击右键,反应慢,解决方法!
- BGP带宽是什么意思
- 【Android】Service管理通知栏通知模板
- 嵌入式开发学习路线图
- python re模块_python 正则表达式 (重点) re模块
- 云计算机具有什么特点,云计算具有哪些特点?
- Problem C. Increasing Shortest Path【贪心 最短路-DP】
- 量子通信利用量子力学原理产生密钥对信息进行加密和解密,并采用量子纠缠效应进行密钥分发,被认为是当今最安全的通信系统.有两项特性,一个是不可分割,一个是不可复制...