Evanyou Blog 彩带
摘要: "传送门啦" 看起来是一个最短路问题,但是引入了速度限制,就要写一下二维最短路了。 $ dis[i][j] $ :表示到i这个点,速度为j的最短时间。 include include include include include using namespace std; const int max 阅读全文
posted @ 2018-11-05 20:31 Stephen_F 阅读(105) 评论(0) 推荐(0) 编辑
摘要: "传送门啦" 重要城市有三个性质如下: 1.重要城市能对其他两个不同城市的最短路径做出贡献 2.重要城市具有唯一性,如果两不同城市之间的最短路径有两种中间城市情况,那么这两个中间城市可以彼此代替,就都不能成为重要城市 3.重要城市具有替代性,对于两不同城市间的一种最短路径情况,该路径上所有中间城市皆 阅读全文
posted @ 2018-11-05 19:23 Stephen_F 阅读(98) 评论(0) 推荐(0) 编辑
摘要: "传送门啦" 这个题说白了就是求一个次短路。 方法是我们先跑一遍最短路,记录下最短路上每一个点的前驱。然后我们将最短路上每一条边都标记一次,分别跑一边最短路,求出最短路径即可。 在这我们不用特殊判断是否是第二条次短路还是最短路。因为我们求出的 $ ans $ 是一个最小值。 include incl 阅读全文
posted @ 2018-11-05 18:17 Stephen_F 阅读(145) 评论(0) 推荐(0) 编辑
摘要: "传送门啦" 核心思想:两遍最短路. 1号点去各地的时间直接套最短路模板,各地到1号点时间用逆向思维,视为求1号点沿反边到各地的时间即可. 阅读全文
posted @ 2018-11-05 14:12 Stephen_F 阅读(80) 评论(0) 推荐(0) 编辑
摘要: "传送门啦" 一个裸的最小生成树,输出 $ No Answer $ 的情况只有 $ k include include include using namespace std; const int maxn = 1005; const int maxm = 10005; inline int rea 阅读全文
posted @ 2018-11-05 10:59 Stephen_F 阅读(126) 评论(0) 推荐(0) 编辑
摘要: "传送门啦" 先跑一遍最短路,将最短路的路径记录下来,然后枚举每一条最短路的边,将其断掉,记录此时的1 n的时间,取其中最大的一个时间即为所求。 (通过 $ cut[][] $ 和 $ f[] $ 进行操作) 注意这个题是个稠密图,可能会卡 $ spfa $ ,所以我用了堆优化 $ dijk $ 。 阅读全文
posted @ 2018-11-05 10:32 Stephen_F 阅读(123) 评论(0) 推荐(0) 编辑
摘要: "传送门啦" 一个拓扑排序的题,感觉题目好难懂。。。 include include include include using namespace std; const int maxn = 105; inline int read(){char ch = getchar();int f = 1 阅读全文
posted @ 2018-11-05 09:00 Stephen_F 阅读(146) 评论(0) 推荐(0) 编辑