【USACO 2.3.2】奶牛家谱】的更多相关文章

OJ:http://www.luogu.org/problem/show?pid=1472 #include<iostream> using namespace std; const int MOD=9901; const int maxn=200+5; const int maxk=100+5; int dp[maxn][maxk]; int v[maxn][maxk]; int N,K; void init(){ for(int i=0;i<maxn;i++) for(int j=0…
P1472 奶牛家谱 Cow Pedigrees 102通过 193提交 题目提供者该用户不存在 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 农民约翰准备购买一群新奶牛. 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛.这些奶牛间的关系可以用二叉树来表示.这些二叉树总共有N个节点(3 <= N < 200).这些二叉树有如下性质: 每一个节点的度是0或2.度是这个节点的孩子的数目. 树的高度等于K(1 < K < 100).高度是从…
130. [USACO Mar08] 游荡的奶牛 ★☆   输入文件:ctravel.in   输出文件:ctravel.out   简单对比时间限制:1 s   内存限制:128 MB 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John在某个时刻看见贝茜在位置(R1, C1),恰好T (0 < T <= 15)秒后,FJ又在位置(R2, C2)与贝茜撞了正着.FJ并不…
[题目描述] 农民约翰准备购买一群新奶牛.在这个新的奶牛群中,每一个母亲奶牛都生两小奶牛.这些奶牛间的关系可以用二叉树来表示.这些二叉树总共有N个节点(3 <= N < 200).这些二叉树有如下性质: 每一个节点的度是0或2.度是这个节点的孩子的数目. 树的高度等于K(1 < K < 100).高度是从根到最远的那个叶子所需要经过的结点数;叶子是指没有孩子的节点. 有多少不同的家谱结构?如果一个家谱的树结构不同于另一个的,那么这两个家谱就是不同的.输出可能的家谱树的个数除以990…
令人窒息的奶牛题 题目描述 农民约翰准备购买一群新奶牛. 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛.这些奶牛间的关系可以用二叉树来表示.这些二叉树总共有N个节点(3 <= N < 200).这些二叉树有如下性质: 每一个节点的度是0或2.度是这个节点的孩子的数目. 树的高度等于K(1 < K < 100).高度是从根到最远的那个叶子所需要经过的结点数; 叶子是指没有孩子的节点. 有多少不同的家谱结构? 如果一个家谱的树结构不同于另一个的, 那么这两个家谱就是不同的.输出可…
http://cojs.tk/cogs/problem/problem.php?pid=896 我的计算几何入门题... 看了看白书的计算几何部分,,恩好嘛.. 乃们都用向量!!!! 干嘛非要将2个点确定一条线变成一个点从原点o出发的射线!!!! 这就是所谓的玩概念吗 然后用所谓的向量加减,是这些向量起点相同,然后就变成了原点o出发的射线!!! 然后你们还在玩概念!我跪了. (以上纯属蒟蒻吐槽) 好吧,计算几何非常有用的..简化了不少操作. 这里还有啥点积啥叉积.点积就是同一起点的向量(终点)的…
题目背景 MooFest, 2004 Open 题目描述 约翰的N 头奶牛每年都会参加"哞哞大会".哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨栅栏,摸牛仔的屁股等等.它们参加活动时会聚在一起,第i 头奶牛的坐标为Xi,没有两头奶牛的坐标是相同的.奶牛们的叫声很大,第i 头和第j 头奶牛交流,会发出\(max{Vi, Vj}\) \(×\) \(|Xi − Xj |\) 的音量,其中Vi 和Vj 分别是第i 头和第j 头奶牛的听力.假设每对奶牛之间同时都在说话,请计算所有…
奶牛赛跑 目录 奶牛赛跑 题目描述 输入格式 输出格式 样例 样例输入#1 样例输出#1 题解 代码 题目描述 约翰有头奶牛,他为这些奶牛准备了一个周长为的环形跑牛场.所有奶牛从起点同时起跑,奶牛在比赛中总是以匀速前进的,第头牛的速度为.只要有一头奶牛跑完圈之后,比赛就立即结束了. 有时候,跑得快的奶牛可以比跑得慢的奶牛多绕赛场几圈,从而在一些时刻超过慢的奶牛.这就是最令观众激动的套圈事件了.请问在整个比赛过程中,套圈事件一共会发生多少次呢? 输入格式 • 第一行:三个整数,和,; ; • 第二…
题意:问你指定二叉树有几种 1.高度为k 2.节点数为n 3.每个点的度为0或2 爆搜------->30分QAQ 首先,因为每个节点度为0或2, 所以如果n是偶数直接输出0就行了吧(嘿嘿) 如果是奇数呢? 设f[i][j]表示i个节点,高度$\le$j的方案数 那么$ans=f[n][k]-f[n][k-1]$(类似于前缀) 转移$f[i][j]=f[t][j-1]*f[i-t-1][j-1]$ 枚举t,t个放左边,j-t-1个放右边,乘法原理,别忘取模 #include<cstdio>…
题目链接 这是一道考思维的好题. 一开始设f[i][j]是i个点刚好j层的方案数,死活调不出来,看题解发现可以改为<=j层的方案数,最后输出f[n][m]-f[n][m-1]就好了. 对于计算考虑左右子树分配,设i个点分给左子树,j个点分配右子树,注意枚举顺序,乘法原理搞一搞就好. 我拼尽全力只得了57分,qwq. #include<cstdio> #include<cstring> #include<cctype> #include<algorithm&g…
传送门 一个深度为i的树可以由一个根节点外加两个深度为i-1的树组成,这就决定了DP该怎么写. 然而我真的没有想到. f[i][j]表示深度为i节点数为j的个数 sum[i][j]表示深度小于等于i节点树为j的个数 #include <cstdio> #define N 402 #define p 9901 int n, m; int f[N][N], sum[N][N]; //f[i][j]表示深度为i节点数为j的个数 //sum[i][j]表示深度<=i节点数为j的树的个数 int…
[题解] DP题,我们用f[i][j]表示有n个节点.高度小于等于j的二叉树的个数.f[i][j]=sigma(f[t][j-1]*f[i-t-1][j-1]) t是1~i-1范围内的奇数. #include<cstdio> #include<cstring> #include<algorithm> #define LL long long #define rg register #define N 300 using namespace std; LL n,k,f[N…
[题解] 对于每一条边,我们通过它需要花费的代价是边权的两倍加上这条边两个端点的点权. 我们把每条边的边权设为上述的值,然后跑一边最小生成树,再把答案加上最小的点权就好了. #include<cstdio> #include<algorithm> using namespace std; ; ; int n,m,fa[maxn],c[maxn],tot; struct edge{int x,y,w;}e[maxn]; void read(int &k){ k=; ; cha…
题面 这道题我觉得是个不错的题: 根据题意可以较清晰的发现ans只和n和k有关:(因为输入的只有这两个数啊~): 那么设f[i][j]表示前i层用了j个节点的方案数,g[i][j]表示深度小于等于i并且用了j个节点的方案数总和: 对于一颗树,可以把它分成3部分:根节点,左字树,右子树: 对于一颗深度为i的树,左子树和右子树至少有一个达到了深度i-1: 所以转移方程是:f[i][j]+=f[i-1][k]*g[i-2][j-k-1]+f[i-1][j-k-1]*g[i-2][k]+f[i-1][k…
开个坑记录一下刷USACO的Training的记录 可能会随时弃坑 只有代码和做法简述 可能没有做法简述 [USACO1.1]你的飞碟在这儿Your Ride Is He… 模拟,细节已忘 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ],s2[]; int main() { ,ss2=; scanf("%s",&s1); scanf(&q…
P1827 美国血统 American Heritage 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的"树的中序遍历"和"树的前序遍历"的符号加以记录而 不是用图形的方法. 你的任务是在被给予奶牛家谱的"树中序遍历"和"树前序遍历"的符号后,创建奶牛家谱的"树的 后序遍历"的符号.每一头奶牛的姓名被译为一个唯一的字…
[题解]晋升者计数 Promotion Counting [USACO 17 JAN] [P3605] 奶牛们又一次试图创建一家创业公司,还是没有从过去的经验中吸取教训.!牛是可怕的管理者! [题目描述] 奶牛从 \(1\) ~ \(N(1≤N≤1e5)\) 进行了编号,把公司组织成一棵树,\(1\)号奶牛作为总裁(树的根节点).除总裁以外的每头奶牛都有且仅有唯一的一个的上司(即它在树上的父结点).每一头牛\(i\)都有一个不同的能力指数 \(p(i)\),描述了她对其工作的擅长程度.如果奶牛…
题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法. 你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号.每一头奶牛的姓名被译为一个唯一的字母.(你可能已经知道你可以在知道树的两 种遍历以后可以经常地重建这棵树.)显然,这里的树不会有多于 26 个的顶点. 这是在样例输入和 样例输出中的…
P1827 美国血统 American Heritage 54通过 90提交 题目提供者JOHNKRAM 标签USACO 难度普及- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的"树的中序遍历"和"树的前序遍历"的符号加以记录而 不是用图形的方法. 你的任务是在被给予奶牛家谱的"树中序遍历"和"树前…
P1827 美国血统 American Heritage 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法. 你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号.每一头奶牛的姓名被译为一个唯一的字母.(你可能已经知道你可以在知道树的两 种遍历以后可以经常地重建这棵树.)显然,这里的树不…
题目: 题目名称:美国血统 American Heritage 题目来源:美国血统 American Heritage ## 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的"树的中序遍历"和"树的前序遍历"的符号加以记录而 不是用图形的方法. 你的任务是在被给予奶牛家谱的"树中序遍历"和"树前序遍历"的符号后,创建奶牛家谱的"…
背景 USACO OCT09 3RD 描述 奶牛们灰常享受在牛栏中牟叫,因為她们可以听到她们牟声的回音.虽然有时候并不能完全听到完整的回音.Bessie曾经是一个出色的秘书,所以她精确地纪录了所有的牟叫声及其回声.她很好奇到底两个声音的重复部份有多长. 输入两个字符串(长度為1到80个字母),表示两个牟叫声.你要确定最长的重复部份的长度.两个字符串的重复部份指的是同时是一个字符串的前缀和另一个字符串的后缀的字符串. 我们通过一个例子来理解题目.考虑下面的两个牟声: moyooyoxyzooo  …
枚举 用题目中给定的检验条件判定哪些是无用的,哪些是有用 的.能使命题成立的即为其解 . 例一 一棵苹果树上有n个苹果,每个苹果长在高度为Ai的地方.小明的身高为x 他想知道他最多能摘到多少苹果 数据范围: 1 ≤ n, Ai, x ≤ 100 题解 问题相当于询问有多少i满足Ai <= x,考虑用for循环枚举每一个苹果是否能被摘到即可. 例二 筛素数 判断一个数X是否是素数 1 ≤ X ≤ 1e9 考虑定义,若X为合数,则必然有: ∃1 < i < X, i|X 我们考虑直接枚举每个…
现在是晚上十二点半,好累(无奈脸),接着给各位——也是给自己,更新笔记吧~ 序列型状态划分: 经典例题:乘积最大(Luogu 1018) * 设有一个长度为 N 的数字串,要求选手使用 K 个乘号将它分成 K+1 个部分,找出一种分法,使得这 K+1 个部分的乘积能够为最大.* 例如,有一个数字串: 312,当 N=3, K=1 时会有以下两种分法:1 3×12=362 31×2=62* 符合题目要求的结果是: 31×2=62* 现在,请你帮助你的好朋友 XZ 设计一个程序,求得正确的答案.*…
其实是day4 一.洛谷P1018 乘积最大 f[i][j]表示前i个数 切成j块 用f[i][j]而不用f[i][j][k](i到j切成k块)呢? Luogu1043 前缀和(好算一段里的数的和)+一堆预处理 传进来一个指针(其实指针和数组名差不多,C++的玄学特性),然后处理这个数组 洛谷1063 能量项链 f[i][j]把i-j里的珠子合并起来的最大能量 枚举i<k<j的k:最后和i.j合并的珠子 有点像树形dp 洛谷1077 摆花 可以用前缀和优化 ij 第i种 第j盆,最大值 洛谷1…
记录一些散题 / 价值不大但还是想记下来的题目 / 没正八经写博客的题目 8.24 Luogu P1508 沙雕题数字三角形的二维升级版,但是注意阅读理解,李大水牛从桌子最后一行下侧开始吃,而本题是自下而上,其实按自上而下做也行,只不过最后的答案变成了三者取一最值.(面前.左上.右上)其他与数字三角形无异. #include<cstdio> #include<algorithm> using namespace std; int n,m; ][]; int main() { sca…
Usaco 地震: Description 一场地震把约翰家的牧场摧毁了,坚强的约翰决心重建家园.约翰已经重建了N个牧场, 现在他希望能修建一些道路把它们连接起来.研究地形之后,约翰发现可供修建的道路有M 条.碰巧的是,奶牛们最近也成立一个工程队,专门从事修复道路.而然,奶牛们很有经济 头脑,如果无利可图,它们是不会干的. 奶牛们关注的是挣钱速度,即总利润和总施工时间的比值.约翰和奶牛达成了协议,奶 牛负责修建道路,将所有牧场连通,而约翰需要支付F元.每条道路都有自己的施工时间和 建造成本.连接…
157. [USACO Nov07] 奶牛跨栏(点击转到COGS) 输入文件:hurdles.in   输出文件:hurdles.out 时间限制:1 s   内存限制:128 MB 译 by CmYkRgB123 描述 Farmer John 想让她的奶牛准备郡级跳跃比赛,贝茜和她的伙伴们正在练习跨栏.她们很累,所以她们想消耗最少的能量来跨栏. 显然,对于一头奶牛跳过几个矮栏是很容易的,但是高栏却很难.于是,奶牛们总是关心路径上最高的栏的高度. 奶牛的训练场中有 N (1 ≤ N ≤ 300)…
3060 抓住那头奶牛 USACO 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 农夫约翰被告知一头逃跑奶牛的位置,想要立即抓住它,他开始在数轴的N 点(0≤N≤100000),奶牛在同一个数轴的K 点(0≤K≤100000).约翰有两种移动方式:1 分钟内从x 点移动到x+1 或x-1:1 分钟内从x 点移动到2x.假设奶牛不会移动,约翰抓住它需要多少时间? 输入描述 Input Description 一行两个整数N 和K,…
cojs 176. [USACO Feb07] 奶牛聚会 ★☆   输入文件:sparty.in   输出文件:sparty.out   简单对比时间限制:3 s   内存限制:16 MB N(1 ≤ N ≤ 1000)个农场中的每个农场都有一只奶牛去参加位于第X个农场的聚会.共有M (1 ≤ M ≤ 100,000)条单向的道路,每条道路连接一对农场.通过道路i会花费Ti (1 ≤ Ti ≤ 100)的时间. 作为参加聚会的奶牛必须走到聚会的所在地(农场X).当聚会结束时,还要返回各自的农场.…