ural1009(动态规划)
来源:互联网 发布:android源码语法 编辑:程序博客网 时间:2024/06/03 20:15
A - K-based NumbersURAL - 1009
Let’s consider K-based numbers, containing exactly N digits. We define a number to be valid if its K-based notation doesn’t contain two successive zeros. For example:
- 1010230 is a valid 7-digit number;
- 1000198 is not a valid number;
- 0001235 is not a 7-digit number, it is a 4-digit number.
Given two numbers N and K, you are to calculate an amount of valid K based numbers, containing N digits.
You may assume that 2 ≤ K ≤ 10; N ≥ 2; N + K ≤ 18.
The numbers N and K in decimal notation separated by the line break.
210
90思路:一位时有k-1种,两位时有k*(k-1)种,从第三位开始每一位都是(k-1)种乘上(dp[i-1]+dp[i-2])故递推式很容易就推出来了。
#include<iostream>#include<string.h>#include<algorithm>#include<stdio.h> using namespace std;long long dp[21]; int n,k,i; int main() { while(~scanf("%d%d",&n,&k)) { dp[1]=k-1; dp[2]=(k-1)*k; for (i=3;i<=n;i++) dp[i]=(k-1)*(dp[i-1]+dp[i-2]); printf("%lld\n",dp[n]); } return 0; }
阅读全文
0 0
- ural1009(动态规划)
- ural1009 第一个动态规划(dp)题目 。。。似乎也可以用dfs+记忆化收索 解。。。
- URAL1009
- 【动态规划(一)】动态规划基础
- 动态规划(1)
- 动态规划(2)
- 动态规划(3)
- 动态规划(4)
- HDOJ2046(动态规划)
- 动态规划(one)
- 动态规划(读书笔记)
- Pearls(动态规划)
- skiing(动态规划)
- HDU4001(动态规划)
- 作业题 (动态规划)
- Zipper(动态规划)
- 滑雪(动态规划)
- 动态规划(1)
- char*="xxx"
- 自用基础4-方法
- linux debian系统配置apache2的SSL证书
- 方法与数组
- 图像背后的数学--直方图
- ural1009(动态规划)
- 回调函数
- 虚拟机如何实现的?
- 敏捷开发 —— TDD(测试驱动开发)
- linux debian配置静态IP,网关,DNS详细步骤
- js 创建对象的方式
- mybatis进阶(8)--查询缓存之二级缓存
- 数据结构——栈(C++实现)
- 使用dom4j实现读取和写入xml文件