最短路
TelmaZzzz
HEU ACMer
展开
-
codefoces 449B Jzzhu and Cities(最短路)
题解: 题目给出m条双向边,k条从节点1出发的有向边,问在不影响最短路的情况下,这k条从1出发的边最多能去掉几个。 其实转换过来的意思就是在图中跑最短路找关键路径。其做法就是在每次松弛的时候判断边是否为k条边中的一条,若是则把这个结点打上true标记,若不是则打上false标记。 代码: #include <map> #include <set> #include <...原创 2019-04-12 00:35:00 · 141 阅读 · 0 评论 -
codeforces 715 B Complete The Graph(二分+最短路)
题解: 题意大致为给定1e31e31e3的无向图,且给定起点sss和终点ttt,以及部分知道长度的边,让你补全不知道长度的边使得从sss到ttt的最短路为LLL 解题可以分为3个步骤 不将不知道长度的边跳过,求最短路,若最短路小于L则一定不可能成功输出NO,若等于则将未知边长设定为INF若大于则执行2 将所有未知边都设成1,跑最短路,若最短路大于L则一定不能成功(因为题意规定边长最小为1)输出N...原创 2019-04-30 00:58:30 · 195 阅读 · 0 评论 -
2018HDU多校补题 HDU 6386 (双端队列+虚点)
题意: 给定一张图以及每条路的类型,问从1到n至少需要换几次路可以走到。图的大小是n=1e5n=1e5n=1e5,m=2e5m=2e5m=2e5 题解: 首先想到这道题的最暴力的做法即,把每条边看出一个点,对于相邻的两条边连边,若这两条边类型相同则边权为000,否则边权为111。但是这样的化图的大小就是m2m^2m2级别的了,所以想到建立虚点,第一种虚点即结点,建立<n,m+n,1&...原创 2019-07-11 23:36:15 · 177 阅读 · 0 评论 -
2018HDU多校补题 HDU 6331(dp)
题意: 给定nnn为505050的有向图,给出1e61e61e6的问题,问从sss到ttt至少走kkk步的最短路 题解: 定义dp[st][i][j]dp[st][i][j]dp[st][i][j]表示恰好走st步从i到j的最短路。 那么我们输入的值则是dp[1][u][v]dp[1][u][v]dp[1][u][v] 之后就可以想到一个很容易想到的转移 类似于flord算法 dp[st][i][...原创 2019-07-11 23:58:57 · 179 阅读 · 0 评论 -
2017 NEERC J Journey from Petersburg to Moscow (最短路)
题意 给定n=103,m=103n=10^3,m=10^3n=103,m=103的图,路径前k大边的和为该路径的代价,问其中所有从1−n1-n1−n的路径中代价的最小值是都少。 题解 假如所求的最短代价路径的边数小于等于k,那么答案肯定是原图最短路 假如所求的最短代价路径的边数大于k,那么我们发现其计算的方式是将不在前k大路径的代价置为0去计算。考虑这一问题,我们只要枚举所有边,假设该边为所求最...原创 2019-08-31 21:06:36 · 255 阅读 · 0 评论 -
gym 101987 B Cosmetic Survey
题意 题意化简就是让你模拟出两两题面喜欢的人数之间的大小关系,连接单向边,然后定义了S(s,t)代表从s到t的所有路径中,最小边的最大值。并输出对于点x,满足其他所有点y使得S(x,y)>=S(y,x)并输出这些点 (n<=500) 题解 按题意模拟出建边后,对于该问题跑个Floryd,即可求出S数组,去转移式子S[x][y]=max(S[x][y],min(S[x][k],S[k][...原创 2019-10-03 22:48:29 · 287 阅读 · 0 评论