一名苦逼的OIer,想成为ACMer

Iowa_Battleship

随笔分类 -  生成树

POJ2349 Arctic Network
摘要:"原题链接" 先随便找一棵最小生成树,然后贪心的从大到小选择边,使其没有贡献。 显然固定生成树最长边的一个端点安装卫星频道后,从大到小选择边的一个端点作为卫星频道即可将该边的贡献去除。 所以最后的答案就是最小生成树上第$m$长的边。 cpp include include include inclu 阅读全文

posted @ 2018-09-24 20:32 Iowa_Battleship 阅读(81) 评论(0) 推荐(0) 编辑

BZOJ1977或洛谷4180 [BJWC2010]次小生成树
摘要:一道LCA+生成树 "BZOJ原题链接" "洛谷原题链接" 细节挺多,我调了半天。。累炸。。 回到正题,我们先求出随便一棵最小生成树(设边权和为$s$),然后扫描剩下所有边,设扫到的边的两端点为$x,y$,长度为$z$,树上$x,y$间边权最大的边和严格次大的边分别为$dis_1,dis_2$。 如 阅读全文

posted @ 2018-09-03 14:53 Iowa_Battleship 阅读(265) 评论(0) 推荐(0) 编辑

CH6202 黑暗城堡
摘要:一道最短路+生成树 "原题链接" 实际上就是生成树的中每个点到节点$1$的距离等于原图中这个点到节点$1$的最短距离,求这样的生成树的棵数。 先用$SPFA$或$Dijkstra$求出所有点到节点$1$的最短路径$dis[x]$,然后将所有节点按$dis$从小到大排序。 枚举$x$,表示已经有$x 阅读全文

posted @ 2018-09-02 16:11 Iowa_Battleship 阅读(236) 评论(0) 推荐(0) 编辑

POJ2728 Desert King
摘要:一道生成树+$0/1$分数规划 "原题链接" 设每条边的距离为$dis[x]$,两点高度差为$h[x]$,该图的生成树为$T$,则题目实际求的就是$\dfrac{\sum\limits_{x\in T}h[x]}{\sum\limits_{x\in T}dis[x]}$的最小值。 这就是经典的$0/ 阅读全文

posted @ 2018-09-02 11:30 Iowa_Battleship 阅读(82) 评论(0) 推荐(0) 编辑

JoyOI1391 走廊泼水节
摘要:一道另类生成树 "原题链接" 将输入的树的$n 1$条边按从小到大排序,然后$Kruskal$在生成该树的过程中计算新增边的总长。 当在连第$i$条边,设该边的两端点为$x,y$,长度为$z$,分别属于$S_x$和$S_y$两个并查集中。 而为了将树变成完全图,显然要将$S_x,S_y$两个并查集中 阅读全文

posted @ 2018-09-01 21:28 Iowa_Battleship 阅读(88) 评论(0) 推荐(0) 编辑

导航