随笔分类 -  树/图的遍历

摘要:bzoj2435[Noi2011]道路修建 题意: 给个n点树,每条边的费用为这条边两端的节点数的差值*这条边的长度,求这个数的总费用。 题解: 水题,dfs求出节点的子树大小sz,对于每一条边,费用为深度大的sz值与n-sz相减的绝对值乘边的长度。 代码: 20160611 阅读全文
posted @ 2016-08-16 23:08 YuanZiming 阅读(195) 评论(0) 推荐(0)
摘要:bzoj1648[Usaco2006 Dec]Cow Picnic 奶牛野餐 题意: K只奶牛分散在N个牧场,问多少地点是所有奶牛都可到达的地方。n≤1000 题解: 倒插边然后对每个点dfs,如果经过的奶牛为k则累计答案。注意可能有多只牛在同个牧场,要用数组记录。 代码: 20160810 阅读全文
posted @ 2016-08-14 06:58 YuanZiming 阅读(214) 评论(0) 推荐(0)
摘要:bzoj1638[Usaco2007 Mar]Cow Traffic 奶牛交通 题意: N点M边有向图,每个入度为0的点都有无限只奶牛,现在它们要回宿舍(点1),求通过量最大的路的通过量。N≤5000,M≤50000 题解: 一条路的通过量=到达节点到入度为0节点的方案数*点1到出发节点的方案数(其 阅读全文
posted @ 2016-08-13 09:45 YuanZiming 阅读(210) 评论(0) 推荐(0)
摘要:bzoj1051[HAOI2006]受欢迎的牛 题意: 有N头牛,给M对整数(A,B),表示牛A认为牛B受欢迎,这种关系具有传递性。求出有多少头牛被所有的牛认为是受欢迎的。N≤10000 题解: 因为求的是被所有牛认同的牛,如果该牛不认同任何牛,那么这头牛出度为0,且出度为0的牛有且只有一个否则不存 阅读全文
posted @ 2016-08-03 13:54 YuanZiming 阅读(241) 评论(0) 推荐(0)
摘要:bzoj4512[Usaco2016 Jan] Build Gates 题意: 某人从农场的(0,0)出发,沿边界到处乱走,走过的地方会留下栅栏,等走完后问要在多少个栅栏上开门才能使整个农场连通,最多走1000步。 题解: 我的代码比别人的都长~我的做法是先算出最左/最下可能会走到哪里,然后变换一下 阅读全文
posted @ 2016-08-03 13:50 YuanZiming 阅读(398) 评论(0) 推荐(0)
摘要:bzoj1612[Usaco2008 Jan]Cow Contest奶牛的比赛 题意: n头能力不一样的奶牛,给出m对奶牛之间的能力比较结果,要求判断多少奶牛的能力排名已经确定。n≤100,m≤4500。 题解: 把每个结果看成一条有向边,对每头奶牛dfs,求出每头奶牛赢几头奶牛,输几头奶牛。如果赢 阅读全文
posted @ 2016-08-03 13:08 YuanZiming 阅读(331) 评论(0) 推荐(0)
摘要:bzoj2282[Sdoi2011]消防 题意: 在树上找一条路径,使得端点到这条路径的距离最大值最小。 题解: 一个坑,就是这个路径可以不包含任意一条边,只包含一个节点。因此可以证明这条路径在树的直径上,把树的直径上的所有边存入一个序列,对直径上每个点求其它不在路径上的点与它的最大距离mxd,然后 阅读全文
posted @ 2016-07-15 22:24 YuanZiming 阅读(413) 评论(0) 推荐(0)