题目描述:
从结点1出发, 到结点n(n<=10000), 一共有m(m<=50000)条双向的道路, 给出每个点的权值, 以及初始血量, 求最大权值的最小值(无解输出”AFK”)
思路;
最短路+二分答案
求解极值考虑使用二分答案
对权值进行二分搜索, 用dijkstra求最少血量损失, 求最短路时去掉比权值大的点.
代码:
1 |
|
从结点1出发, 到结点n(n<=10000), 一共有m(m<=50000)条双向的道路, 给出每个点的权值, 以及初始血量, 求最大权值的最小值(无解输出”AFK”)
最短路+二分答案
求解极值考虑使用二分答案
对权值进行二分搜索, 用dijkstra求最少血量损失, 求最短路时去掉比权值大的点.
1 | #include <iostream> |