摘要:
题目传送门 十分值得一做的最短路,题目意思十分明确,一条边权值加倍后最多比加倍前的最短路花费多多少。首先看到m<=5000,第一念头就是跑m遍最短路,但是会严重超时,实际上是由于有些边的权值改变,对最短路没有造成任何影响,才导致了我们程序的严重超时,所以我们采取第一次跑最短路记路径的方法。开三个辅助 阅读全文
posted @ 2019-06-07 22:00
shao0320
阅读(319)
评论(2)
推荐(0)
摘要:
题目传送门 晚上闲游洛谷,偶然发现这道绿色的MST板子 首先,毫无疑问,这是一道MST的题,而重点在与这句话:“请求出农民John 需要为使所有农场都与有水的农场相连或拥有水井所需要的钱数。” 需要让所有地方都有水,但是这些农场最开始是没水的,我们需要加入一个“水源”节点,而0号节点一般在MST板子 阅读全文
posted @ 2019-06-07 21:11
shao0320
阅读(181)
评论(0)
推荐(0)
摘要:
题目传送门 解析: 题目释义:一张图有c个节点,每个节点有一个相等的权值d,有p条无需花费的路径和f条需要花费的路径,求图中最长路。 算法设计: 由于可能出现正环,所以需要SPFA算法,在加边的时候把p条无需花费的路径边权设为d,而f条需要花费的路径设为d-z(其中z是这条路需要的花费)。由于终点不 阅读全文
posted @ 2019-06-07 20:46
shao0320
阅读(194)
评论(0)
推荐(0)
摘要:
题面传送门 解析: 本题十分简单,我认为不应该是一道绿题,只需要建一个完全图,然后在建边之前判断是否大于c即可。然后跑一边最小生成树,Kruskal,如果可以的话输出重量,否则输出-1即可。参考程序如下: 1 #include<iostream> 2 #include<algorithm> 3 us 阅读全文
posted @ 2019-06-07 14:14
shao0320
阅读(171)
评论(0)
推荐(0)

浙公网安备 33010602011771号