USACO Section2.3 Cow Pedigrees 解题报告 【icedream61】
nocows解题报告
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
给你N个点,生成一棵K层的树,有s种情况。请输出s%9901的值。
要求很简单,每个点只能有0个或2个孩子。
【数据范围】
3<=N<200
1<K<100
【输入格式】
N K
【输入样例】
5 3
【输出样例】
2
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
简单的DP。
因为数据很小,所以直接递推就好了,也不需要任何优化。
可以计算,总的时间大概是这样:
for n = 3, 5, 7, .. , N
for k = 1 ~ (n+1)/2
这些情况,计算每种情况的时间是:
n/2 * k*2 = n * k
因此,结果就是这样的:
Time = ∑n*k (n = 3,5,..,199; k = 1~(n+1)/2)
大家可以自行计算一下(我有些忘了怎么算了-.-),但显然可以估算,结果明显是远小于1s的。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
这题挺简单的,因为数据范围小,别让它的模型吓到就好。
------------------------------------------------------------------------------------------------------------------------------------------------
【代码】
/*
ID: icedrea1
PROB: nocows
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; const int maxn = +;
const int maxk = +; int d[maxn][maxk]; inline int add(int &s,int x) { return s=(s+x)%; } void calculate(int n,int k)
{
int s=;
for(int i=n-;i>=;i-=)
{
int j=n--i; //cout<<"i,j = "<<i<<" "<<j<<endl;
for(int t=;t<=k-;++t) add(s,d[i][k-]*d[j][t]);
for(int t=;t<=k-;++t) add(s,d[i][t]*d[j][k-]);
add(s,-d[i][k-]*d[j][k-]);
}
d[n][k]=add(s,); //cout<<"d["<<n<<"]["<<k<<"]="<<s<<endl;
} int main()
{
ifstream in("nocows.in");
ofstream out("nocows.out"); int N,K;
in>>N>>K; d[][]=;
for(int n=;n<=N;n+=)
for(int k=;k<=((n+)>>);++k) calculate(n,k); out<<d[N][K]<<endl; in.close();
out.close();
return ;
}
USACO Section2.3 Cow Pedigrees 解题报告 【icedream61】的更多相关文章
- USACO Section2.1 The Castle 解题报告
castle解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section2.1 Ordered Fractions 解题报告
frac1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】
holstein解题报告 --------------------------------------------------------------------------------------- ...
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
preface解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.1 Hamming Codes 解题报告 【icedream61】
hamming解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.3 Controlling Companies 解题报告 【icedream61】
concom解题报告------------------------------------------------------------------------------------------ ...
- USACO Section2.3 Money Systems 解题报告 【icedream61】
money解题报告------------------------------------------------------------------------------------------- ...
- USACO Section2.3 Zero Sum 解题报告 【icedream61】
zerosum解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.3 Longest Prefix 解题报告 【icedream61】
prefix解题报告------------------------------------------------------------------------------------------ ...
随机推荐
- Js arguments.callee();函数自己调用自己
1.阶乘的时候,函数一般要用到递归算法,所以函数内部一定会调用自身 //递归,阶乘 function sum(num){ ) { ; } else{ ); //自己调用自己,递归 } } alert( ...
- 如何启用SAP C4C OData Event Notification
当我们在试图使用SAP C4C OData事件通知这个功能时,如果遇到下列提示消息,说明这个功能在business configuration里没有开启: The OData Event Notifi ...
- Jmeter入门5 关联 响应数据传递-正则表达式提取器
在测试过程中,遇到一个问题:用户登录成功后服务器会返回一个登录凭证,之后所有的操作都需要带上此凭证.我们怎么获取登录凭证并传递给后续的操作? Jmeter提供了正则表达式提取器,用变量提取参数,后续通 ...
- 用到UdpClient的一点经验
Thread.Abort对UdpClient.Receive阻塞的线程无效 http://computer-programming-forum.com/4-csharp/184f9d4ee63704f ...
- WinSCP 工具
windows 与 Linux 传文件,非常方便.安全.
- Maven tomcat插件 远程发布【Learn】
Tomcat配置修改: ①.conf/tomcat-users.xml <role rolename="manager-gui"/> <role rolename ...
- c++学习(一)
基本数据类型 类型 关键字 描述 所占字节数 最大值 最小值 布尔型 bool 存储值 true 或 false bool 1 0 字符型 char 通常是一个八位字节(一个字符).这是一个整数类型 ...
- centos 7 ifconfig 命令找不到
最近在配置linux 环境: 在官网看到centOS除了最新版本7,那就尝试一下吧.最小安装centOS 7之后发现没有ifconfig命令,在网上找了一下都说是路径的路问题. 我用echo $PAT ...
- C#基础-面向对象-继承
继承 新建一个基类 对Person类3个字段进行重构->封装字段 效果如下: public string Name { get => name; set => name = valu ...
- mysql的jdbc.url携带allowMultiQueries=true参数的作用及其原理
如下配置 jdbc.url=jdbc:mysql://127.0.0.1:3306/chubb_2?autoReconnect=true&useUnicode=true&charact ...