
最小生成树 & 最短路
文章平均质量分 51
AbEver
孤单是一个人的狂欢
展开
-
BZOJ 2594: [Wc2006]水管局长数据加强版(LCT+最小生成树+离线)
题目戳我Solution题目大意:就是让你维护一棵动态的最小生成树, 并询问两点路径中边权最大值。很明显,用LCT来做这个。有几个关键点: ①删边维护mst不好搞,我们离线然后删边变加边。 ②一开始用kruskal搞出底图的mst,然后加边,判断一条路径的最大值是否大于当前边的长度,是就替换掉原先的边。因为这样答案肯定不会差。 ③注意答案的保存及下标的转换等大量细节。 ④一开始建底图时找出有原创 2017-06-29 15:07:10 · 717 阅读 · 0 评论 -
lgP1265 公路修建 (最小生成树)
传送Door传送吧题解这题题面好像挺复杂,其实就是个果的Prim算法。yy一下就知道第二条规则纯属吹B,没有卵用。一个最小生成树题目,为什么一定要用Prim呢?因为题目处处提醒你这题就是要用Prim。因为这题是完全图,边很多,开不下。因为O(n2)O(n^2)的Prim能够出色胜任,连数据结构优化都不用。由于我好像没有写过几次Prim,就当复习一下,为NOIP打基础。好像挺容易的(按照题目说的去做就原创 2017-09-27 20:47:06 · 351 阅读 · 0 评论 -
BZOJ 1001: [BeiJing2006]狼抓兔子(平面图最小割转对偶图最短路)
题目传送门 戳这儿 题解 补一下这道经典例题。(BZOJ第除A+B Problem之外第一题) 题目要求的是最小割。但是点数,边数太多直接网络流可能跑不过。 于是引入这种方法:平面图转化成对偶图。最小割变成了求最短路。(还记得去年NOIP初赛吗?有一道填空题就是这个) 在对偶图中,我们将原来的面作为点,依照原来的边来连边,一条边两侧的面连一条边,即相邻两面连边。为了避免S和T在原创 2018-01-29 22:02:58 · 458 阅读 · 0 评论 -
BZOJ 2750: [HAOI2012]Road(最短路+拓扑排序+递推)
题目描述传送门题目大意:给你一个n个点、m条边的有向图,问你每条边被多少条不同的最短路经过,答案对10^9+7取模,其中n<=1500,m<=5000。题解由于n、m都不大,一个显然的做法是枚举一个起点S,然后跑SPFA。对于一条边,如果它不在最短路图上,就肯定不会被算上。而一条边i->j在图上的充要条件是Dis[i]+l<=Dis[j],构出来这个图你就会发现这是个DAG。然后DAG上所有边都是从原创 2018-03-23 14:06:37 · 949 阅读 · 1 评论 -
BZOJ 1556: 墓地秘密(SPFA+状压DP)
题面 权限门思路黄学长的题,比较简单的状压DP,考试时写了一个多小时,然后因为一个小错误只拿了40分。比较明显的是,只有机关墙四周的点是有用的, 有用的点只有4*K个。我们记DP[S][i][d]表示到过S集合,最后碰到的机关墙是i,停在墙的方向为d。然后通过枚举下一步去哪里、什么方向可以进行转移。提前预处理出4*K个点两两之间的“转向”最短路,这个通过bfs或SPFA可以搞。我个人偏向写SPFA原创 2018-04-17 14:19:13 · 415 阅读 · 0 评论