usaco2.3.2奶牛家谱
来源:互联网 发布:mac双系统 分区 编辑:程序博客网 时间:2024/04/28 12:39
本来是这样写的,但这样有些费时,重复计算了很多算过了的,所以超时,同时,因为高度有100,那么按我的方法,贮存最大节点数的变量会出现溢出,这也证明,这一题不用dp不行啊。。。。。。
#include<iostream>
#include<cstdio>#include<cstdlib>
#include <cmath>
using namespace std;
int n,h;
int aaa(int h1,int n1,int key);
int main()
{
//freopen("nocows.in","r",stdin);
//freopen("nocows.out","w",stdout);
cin>>n>>h;
int num=aaa(h,n,1);
cout<<num%9901<<endl;
return 0;
}
int aaa(int h1,int n1,int key)
{
if(h1<1)return 0;
if(pow(2,h1)-1<n1)return 0;
else if(pow(2,h1)-1==n1&&key==1)return 1;
else if(key==2&&pow(2,h1-1)-1==n1)return 1;
if(key==1){
if(n1<2*h1-1)return 0;
int k1=(int)pow(2,h1-1)-1,sum=0;
for(int i=2*h1-3;i<=k1&&i<=n1;i+=2){
if(n1-1-i<=k1&&n1-1-i>0){
int a=aaa(h1-1,i,1);
int b=aaa(h1-1,n1-i-1,2);
int c=aaa(h1-1,n1-i-1,1);
sum+=(a*b*2+a*c);
}
}
return sum;
}
else {
int sum=0;
for(int i=1;i<h1;i++){
sum+=aaa(i,n1,1);
}
return sum;
}
}
对的代码:
/*
ID:thy47021
LANG:C++
TASK:nocows
*/
#include <cstdio>
#include <iostream>
using namespace std;
int n,k,dp[200][200];
int main()
{
freopen("nocows.in", "r", stdin);
freopen("nocows.out", "w", stdout);
cin>>n>>k;
dp[1][1]=1;
for(int i=3;i<=n;i+=2)
for(int j=1;j<=n-2;j+=2)
for(int h1=1;h1<=(j+1)/2;h1++)
for(int h2=1;h2<=(i-j)/2;h2++)
{dp[i][max(h1,h2)+1]+=dp[j][h1]*dp[i-j-1][h2];
dp[i][max(h1,h2)+1]%=9901;
}
cout<<dp[n][k]<<endl;
return 0;
}
0 0
- usaco2.3.2奶牛家谱
- 【USACO2.3.2】奶牛家谱 动态规划
- 【USACO2.3.2】奶牛家谱 BSOJ2086 洛谷P1472 CODEVS2053
- [USACO2.3]奶牛家谱 Cow Pedigrees
- usaco奶牛家谱
- 【USACO TRAINING】奶牛家谱
- Hrbust 2095 奶牛家谱【Dp】
- luogu1472 奶牛家谱 Cow Pedigrees
- 2.3.2 COW PEDIGREES 奶牛家谱
- 洛谷 P1472 奶牛家谱 Cow Pedigrees
- 洛谷 P1472 奶牛家谱 Cow Pedigrees
- 【DP】洛谷 P1472 奶牛家谱 Cow Pedigrees
- 【USACO题库】2.3.2 Cow Pedigrees奶牛家谱 题解
- 【USACO题库】2.3.2 Cow Pedigrees奶牛家谱
- dp——洛谷 P1472 奶牛家谱 Cow Pedigrees
- 家谱
- 家谱
- 家谱
- 11. JAVA常用类库 Part 5 (正则表达式、定时调度、本章要点) ----- 学习笔记
- 【深入Java虚拟机】之四:类加载机制
- android中回调函数
- mysql执行的sql脚本中注释怎么写
- 前台android与后台Servlet交互---上传文件
- usaco2.3.2奶牛家谱
- android上的缓存、缓存算法和缓存框架
- 数码相机内存卡上的照片被误删怎么恢复
- java Class getDeclaredFields() 与getFields()的区别
- 【android】跨应用的sharepreference数据共享
- cmd /c和cmd /k
- 题目1517:链表中倒数第k个结点
- Entity Framework多对多关系实践(many-to-many)
- Delphi中MIDAS的全面学习