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】的更多相关文章

  1. USACO Section2.1 The Castle 解题报告

    castle解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  2. USACO Section2.1 Ordered Fractions 解题报告

    frac1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  3. USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】

    holstein解题报告 --------------------------------------------------------------------------------------- ...

  4. USACO Section2.2 Preface Numbering 解题报告 【icedream61】

    preface解题报告----------------------------------------------------------------------------------------- ...

  5. USACO Section2.1 Hamming Codes 解题报告 【icedream61】

    hamming解题报告----------------------------------------------------------------------------------------- ...

  6. USACO Section2.3 Controlling Companies 解题报告 【icedream61】

    concom解题报告------------------------------------------------------------------------------------------ ...

  7. USACO Section2.3 Money Systems 解题报告 【icedream61】

    money解题报告------------------------------------------------------------------------------------------- ...

  8. USACO Section2.3 Zero Sum 解题报告 【icedream61】

    zerosum解题报告----------------------------------------------------------------------------------------- ...

  9. USACO Section2.3 Longest Prefix 解题报告 【icedream61】

    prefix解题报告------------------------------------------------------------------------------------------ ...

随机推荐

  1. leetcode: 复杂度

    1. single-number Given an array of integers, every element appears twice except for one. Find that s ...

  2. Selenium入门6 操作元素,获取元素属性

    取元素的text,属性get_attribute,标签名tag_name 操作元素:send_keys输入,click点击,submit提交,clear清除输入 状态判断:is_display,is_ ...

  3. QT学习之QPair类

    #QPair类 QPair是一个用来存储一对对象的容器模板.其有两个值,first和second. QPair() QPair(const T1 & value1, const T2 & ...

  4. thinkphp 去掉URL 里面的index.php

    例如你的原路径是 http://localhost/test/index.php/home/goods/index.html 那么现在的地址是 http://localhost/test/home/g ...

  5. php中的脚本加速扩展opcache

    今儿在azure里装php5.5.4,发现原先php5.4.php5.3中的zend guard laoder以及php5.2中的Zend Optimizer均不能再用,一直很喜欢用的eacceler ...

  6. 最大独立集问题-maximal independent set problem

    原文链接 http://blog.csdn.net/xin_jmail/article/details/29597471 http://blog.csdn.net/xin_jmail/article/ ...

  7. 手动安装Apache+PHP+MYSQL及环境配置

    先准备好软件: Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,更多版本在这里: php官方下载地址:php-5.0.5-Win32.zip,更多镜像下 ...

  8. idea和eclipse中getAbsolutePath()方法获取值不同

    项目中,使用嵌入式tomcat启动web工程(具体使用请度娘,关键字: tomcat embeded) 启动时,设置tomcat path的代码如下: Embedded tomcat = new Em ...

  9. securecrt颜色设置

    https://blog.csdn.net/zq710727244/article/details/53909801

  10. PureLayout,使用纯代码写AutoLayout

    为iOS和OS X的自动布局最终的API -- 令人印象深刻的简单,非常强大. PureLayout延伸的UIView /NSView , NSArray,和NSLayoutConstraint与之后 ...