Codeforces431C_K-Tree_KEY
题目大意:给定一棵K叉树,一个节点下的K个节点的分数为i,求包含大于等于D的边的总分数为N的方案总数,mod 1e9+7。
这是一道很好的树形DP题,首先看N和K两个条件,可以轻易的得到方程:
f[i][j]=(f[i][j]+f[i-k][j])%mod;
//f[i][j]表示总分为i,当前边分数到j的方案总数。
再看最后一个条件,我们仔细一想,不是只要将答案f[N][K]减去f[N][D-1]即可吗?
只需要减去小于D的所有方案不就好了吗?
answer=f[N][K]-f[N][D-1];
。。。。。。
所以这道题还是挺水的。
code:
#include <cstdio>
#define mod 1000000007
using namespace std;
int N,K,D;
int f[][];
int main(){
scanf("%d%d%d",&N,&K,&D);
for(int i=;i<=K;i++)f[][i]=;
for(int i=;i<=N;i++)
for(int j=;j<=K;j++)
for(int k=;k<=j;k++){
if(i-k>=)f[i][j]=(f[i][j]+f[i-k][j])%mod;
else break;
}
printf("%d",(f[N][K]-f[N][D-]+mod)%mod);
return ;
}
Codeforces431C_K-Tree_KEY的更多相关文章
- 二叉查找树 C++实现(含完整代码)
一般二叉树的查找是通过遍历整棵二叉树实现,效率较低.二叉查找树是一种特殊的二叉树,可以提高查找的效率.二叉查找树又称为二叉排序树或二叉搜索树. 二叉查找树的定义 二叉排序树(Binary Search ...
- 简单字典实现(KV问题)
搜索二叉树基本概念请看上篇博客 这两个问题都是典型的K(key)V(value)问题,我们用KV算法解决. 判断一个单词是否拼写正确:假设把所有单词都按照搜索树的性质插入到搜索二叉树中,我们判断一个单 ...
- 少女NULL中
NULL inline void read (int &now) { register ; ; !isdigit (word); word = getchar ()) ; + word - ' ...
- day121:MoFang:植物的状态改动(幼苗→成长期)&植物的浇水功能
目录 1.当果树种植以后在celery的异步任务中调整浇水的状态 2.客户端通过倒计时判断时间,显示浇水道具 3.客户端判断当前种植物状态控制图标的显示和隐藏 4.当用户单击浇水图标, 则根据当前果树 ...
随机推荐
- 用CI框架向数据库中实现简单的增删改查
以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html Code ...
- 面试知识整理-Java基础
三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对 ...
- Java实现身份证号码验证源码分享
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- UVa 11400 - Lighting System Design(线性DP)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- web.xml的加载过程是context-param >> listener >> fileter >> servlet
web.xml的加载过程是context-param >> listener >> fileter >> servlet
- EasyPoi导入Excel
EasyPoi的导出Excel功能和导入功能同样简单.我之前强调过,EasyPoi的原理本质就是Poi,正如MyBatis Plus的本质原理就是MyBatis. POI导入功能可以参考如下地址:ht ...
- 清空oracle session
select 'alter system kill session '''||sid|| ','||serial#||''';' from v$session where username =' ';
- UI到底应该用xib/storyboard完成,还是用手写代码来完成?
UI到底应该用xib/storyboard完成,还是用手写代码来完成? 文章来源:http://blog.csdn.net/libaineu2004/article/details/45488665 ...
- mdev自动创建和删除设备节点
设备节点的创建有二种方法: 1)手动创建:mknode命令 当insmod后,还需要手动moknod创建设备节点才能被应用层打开,并且使用完成之后还要删除节点. 2) 自动创建:mdev mdev, ...
- Knowledge Point 20180303 对比编译器、解释器与Javac编译原理
编译器与Javac编译原理 在前文我们知道了Java是一种编译语言和解释语言,它的源代码经过编译器Javac编译为能够被JVM识别的二进制语言,然后JVM将其解释为能够被平台识别的机器语言.那么什么是 ...