Codeforces 431C k-Tree (基础dp)
来源:互联网 发布:mac office365 编辑:程序博客网 时间:2024/05/20 10:12
k-Tree
time limit per test:1 second
memory limit per test:256 megabytes
Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was inspired and came up with the tree of his own which he called ak-tree.
A k-tree is an infinite rooted tree where:
- each vertex has exactly k children;
- each edge has some weight;
- if we look at the edges that goes from some vertex to its children (exactlyk edges), then their weights will equal 1, 2, 3, ..., k.
The picture below shows a part of a 3-tree.
Help Dima find an answer to his question. As the number of ways can be rather large, print it modulo1000000007 (109 + 7).
Input
A single line contains three space-separated integers:n, k andd (1 ≤ n, k ≤ 100;1 ≤ d ≤ k).
Output
Print a single integer — the answer to the problem modulo1000000007 (109 + 7).
Examples
Input
3 3 2
Output
3
Input
3 3 3
Output
1
Input
4 3 2
Output
6
Input
4 5 2
Output
7
题目链接:http://codeforces.com/problemset/problem/431/C
题目大意:一棵k-Tree表示一棵满k叉树,每个祖先到孩子的边权依次为1-k,现在要求一条和为n的路径,要求路径上至少有一条边的权值大于等于d,求满足条件的路径个数
题目分析:类比背包,容易想到状态dp[i][j]表示合到数字i时,是否有一条边权大于等于d的路径数,转移不说了
7
题目链接:http://codeforces.com/problemset/problem/431/C
题目大意:一棵k-Tree表示一棵满k叉树,每个祖先到孩子的边权依次为1-k,现在要求一条和为n的路径,要求路径上至少有一条边的权值大于等于d,求满足条件的路径个数
题目分析:类比背包,容易想到状态dp[i][j]表示合到数字i时,是否有一条边权大于等于d的路径数,转移不说了
#include <cstdio>int const MOD = 1e9 + 7;int dp[105][2];int main(){ int n, k, d; scanf("%d %d %d", &n, &k, &d); dp[0][0] = 1; for(int i = 0; i < n; i++) { for(int j = 1; j <= k && i + j <= n; j++) { if(j < d) dp[i + j][0] = (dp[i + j][0] % MOD + dp[i][0] % MOD) % MOD; else dp[i + j][1] = (dp[i + j][1] % MOD + dp[i][0] % MOD) % MOD; dp[i + j][1] = (dp[i + j][1] % MOD + dp[i][1] % MOD) % MOD; } } printf("%d\n", dp[n][1]);}
0 0
- Codeforces 431C k-Tree (基础dp)
- CodeForces 431C k-Tree(dp)
- codeforces-431C-k-Tree【dp】
- Codeforces 431C k-Tree【dp】
- Codeforces 431C —— k-Tree(DP)
- Codeforces 431C k-tree DP(拆分数)
- Codeforces 431C —— k-Tree(DP)
- Codeforces Round247 C k-tree DP
- CodeForces 431C K-Tree
- CodeForces 431C k-Tree
- Codeforces Round #247(Div. 2) C. k-Tree DP
- Codeforces 431C k-Tree 题解
- Codeforces #247 (Div. 2) C. k-Tree
- codeforces 431C DP
- Codefoces 431 C. k-Tree
- CF 431C k-Tree
- Codeforces Round #247 (Div. 2) C. k-Tree
- Codeforces Round #247 (Div. 2) C.K-Tree
- Java 反射:Classes
- 文件上传时候可能遇到的问题
- why you can't focus on one thing
- struts之文件下载
- Android WebView的坑总结
- Codeforces 431C k-Tree (基础dp)
- jquery highcharts组件--纵向柱状图标实例
- operator new之non-member operator new固守规则
- [Android基础] WebView
- android webview 此入网页不能载入为:net::ERR_CONNECTION_REFUSED
- COPY
- Maven常用
- hdu 1002
- Swift之旅 1 变量、常量和声明