算法题解--图论:树
文章平均质量分 79
ciociooo
这个作者很懒,什么都没留下…
展开
-
Out of Hay 饲料没了
Description 牛们的饲料吃完了,这是一个必须马上解决的严重问题。 Bessie想去其他农场看看他们的饲料情况。总共有N (2 Bessie想知道她需要携带多大的水壶。她每走1米的路,她就会喝掉1升的水。因为她在每个农场都可以把水壶灌满,所以她只需要考虑其中最长的一条道路。因此,她想事先设计出一条路径,使她能够达到所有的农场,并且使她携带的水尽可能少。请你帮Bessie算出她最少原创 2013-09-28 09:26:30 · 1549 阅读 · 0 评论 -
【HZOI】 Tree
Description 对于完全图G,若有且仅有一棵最小生成树为T,则称完全图G是树T的扩展出的。给你一棵树T,找出T能扩展出的边权和最小的完全图G。 Input 第一行N,(2 接下来N-1行,Si Ti Di 描述一条边(Si,Ti)权值为 Di。 保证输入数据构成一棵树。 Output 一行一个数,表示最小的图G的边权和。 Sample Input 4 1 2 1原创 2013-10-25 13:21:46 · 866 阅读 · 0 评论 -
【Usaco Nov08 Gold】 安慰奶牛
Description Farmer John变得非常懒, 他不想再继续维护供奶牛之间供通行的道路. 道路被用来连接N(5 <= N <= 10,000)个牧场, 牧场被连续地编号为1..N. 每一个牧场都是一个奶牛的家.FJ计划除去P(N-1 <= P <= 100,000)条道路中尽可能多的道路, 但是还要保持牧场之间的连通性. 你首先要决定那些道路是需要保留的N-1条道路. 第j条双向原创 2013-10-26 19:57:24 · 1986 阅读 · 3 评论 -
【USACO 2011 Dec Gold 】简化农场
Description 农夫约翰在一所夜校学习算法课程,他刚刚学会了最小生成树。现在约翰意识到他的农场设计得不够高效,他想简化农场的布局。 约翰的农场可以看做一个图,农田代表图中顶点,田间小路代表图中的边,每条边有一定的长度。约翰注意到,农场中最多有三条小路有着相同的长度。约翰想删除一些小路使得农场成为一棵树,使得两块农田间只有一条路径。但是约翰想把农场设计成最小生成树,也就是农场道路的原创 2013-12-09 16:54:26 · 1601 阅读 · 0 评论 -
Tree NOIp2013-Training Series #4
Description 给出N 个点的树和K,问能否把树划分成N/K 个连通块,且每个连通块的点数都是K。 Input 第1 行,1 个整数T,表示数据组数。接下来T 组数据,对于每组数据: 第1 行,2 个整数N;K。 接下来(N -1) 行,每行2 个整数Ai,Bi,表示边(Ai,Bi)。点用1,2,...,N 编号。 Output 对于每组数据,输出YES或NO。 Sam原创 2013-11-08 11:31:18 · 1561 阅读 · 0 评论 -
【SPOJ104】Highways
题目大意: 有N个节点,某些节点之间可以连边,求有多少种方案可以使任意两点间有唯一路径 【分析】 生成树计数问题:Marix-Tree定理 具体含义: 【代码】 /* ID:Ciocio LANG:C++ DATE:2013-11-30 TASK:SPOJ-104 Highways */ #include #include #include原创 2013-11-30 17:42:49 · 811 阅读 · 0 评论 -
debug
Description 经过一整夜的激战,RC的部队终于攻下了虫族的首都bugzilla。现在RC决定亲自带领一突击队在虫族庞大的地道中寻找他的宿命之敌——bug。 Bugzilla有N个基地组成。这N个基地被N-1段双向地道连接在一起,每段地道都连接两个基地,并且保证任意两个基地之间都可以通过地道互相到达。Bug就藏在其中的某段地道中。 开始时RC可以乘坐运输机降落在任何一个基地,每次原创 2013-10-18 10:36:16 · 807 阅读 · 0 评论 -
大扫除
Description 现在要打扫hl的牧圈。已经很多年没打扫了。所以这次的计划是用河水来冲。 牧圈排成整齐的格子,每相邻的两个之间都有门。要想让水进去,就必须打开这些门。这不是件容易的事情。因为有些圈里土堆得很高。因此打开门就很费劲。为了使花的力气最小,总是把门推向土低的一边。你的任务是计算最少得费多少劲。我们用土的厚度来描述这个值。 Input 第一行是宽度原创 2013-10-01 17:32:56 · 972 阅读 · 0 评论 -
四叶草魔杖
Description 魔杖护法Freda融合了四件武器,于是魔杖顶端缓缓地生出了一棵四叶草,四片叶子幻发着淡淡的七色光。圣剑护法rainbow取出了一个圆盘,圆盘上镶嵌着N颗宝石,编号为0~N-1。第i颗宝石的能量是Ai。如果Ai>0,表示这颗宝石能量过高,需要把Ai的能量传给其它宝石;如果Ai<0,表示这颗宝石的能量过低,需要从其它宝石处获取-Ai的能量。保证∑Ai =0。只有当所原创 2013-10-18 10:05:37 · 1308 阅读 · 1 评论 -
最近公共祖先
Description 给出一棵有N(编号1到N)个节点的有根树,求出指定节点对的最近公共祖先! 对于树中节点x而言,从根节点到达x的这一条路径中经过的所有节点,都称为x的祖先。 如上图所表示的树中, 根节点为8。8、4、10、16都是12的祖先。对于6和12这对节点而言,从6出发往上朝根走和从12出发往上朝根走的两条路径最早交汇的地点是4号节点,因此4号点是6和12的最近公共祖先原创 2013-10-24 17:26:34 · 1011 阅读 · 0 评论 -
【POJ 1741】 Tree --点分治
【题目大意】 给定一棵N个节点、边上带权的无向无根树,再给出一个K,询问有多少个数对(i,j)满足i 【数据规模】 多组测试数据,每组数据满足N≤10000,1≤边上权值≤1000,1≤K≤10^9。 【出处】 楼天城男人必做8题之一…… 【分析】 很显然有个暴力算法:从每个点出发遍历整棵树,统计数对个数。 也很显然时间复杂度O(N^2),要TLE。原创 2014-02-14 15:41:18 · 809 阅读 · 0 评论