树型结构
文章平均质量分 64
A_Comme_Amour
胜利油田第一机房
展开
-
【树形dp】访问艺术馆
皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画。艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室。皮尔知道每个展室里藏画的数量,并且他精确地测量了通过每条走廊的时间,由于经验老道,他拿下一副画需要5秒的时间。你的任务是设计一个程序,计算在警察赶来之前(警察到达时皮尔回到了入口也算),他最多能偷到多少幅画。 输入描述 Input Description 第1行是警察赶原创 2017-11-06 20:36:23 · 296 阅读 · 0 评论 -
【noip2007】树网的核
题目描述设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点。路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a, b)表示以a, b为端点的路径的长度,它是该路径上各边长度之和。我们称d(a, b)为a, b两结点间的距离。 D(v,原创 2017-10-31 17:02:55 · 384 阅读 · 0 评论 -
【模板】lca 最近公共祖先
lca:#include<cstring> #include<algorithm> using namespace std; const int MAXN=500001; int n,m,gen,x,y; struct Edge{ int next,to; }edge[2*MAXN]; int deep[MAXN],fa[MAXN][20];//deep记录每个点的深度,fa[i][j]:表原创 2017-11-04 10:29:45 · 378 阅读 · 0 评论 -
【树形dp】贪吃的九头龙
描述传说中的九头龙是一种特别贪吃的动物。虽然名字叫“九头龙”,但这只是说它出生的时候有九个头,而在成长的过程中,它有时会长出很多的新头,头的总数会远大于九,当然也会有旧头因衰老而自己脱落。 有一天,有M个脑袋的九头龙看到一棵长有N个果子的果树,喜出望外,恨不得一口把它全部吃掉。可是必须照顾到每个头,因此它需要把N个果子分成M组,每组至少有一个果子,让每个头吃一组。 这M个脑袋中有一个最大,称为“原创 2017-11-06 13:15:50 · 566 阅读 · 0 评论 -
【树形dp】没有上司的舞会
题目描述某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。输入输出格式输入格式: 第一行一个整数N。(1<=原创 2017-11-06 16:00:37 · 580 阅读 · 0 评论 -
【树形dp】战略游戏
题目描述Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。请你编一程序,给定一树,帮Bob计算出他需要放置最少的士兵.输入输出格式输入格式: 第一行 N,表示树中结点的数目。第二原创 2017-11-06 18:47:24 · 413 阅读 · 0 评论