随笔分类 - 最短路径
摘要:【题目链接】 点击打开链接 【算法】 差分约束系统,SPFA判负环 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 差分约束系统 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 令sum(n)表示区间[1,n]中选了几个点 那么,显然有以下不等式 : 1. sum(n)- sum(n - 1) >= 0 2. sum(n) - sum(n - 1) <= 1 3. sum(bi) - sum(ai-1) >= ci 那么,差分约束系统是
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 朴素算法,就是跑N-1遍floyd 而满分算法就是通过矩阵快速幂加速这个过程 【代码】 注意要离散一下
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 dist[i][j][k]表示当前走到(i,j),走的步数除以3的余数为k的最小花费 spfa即可 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 dist[i][j]表示到达i号城市,使用了j次魔法,所用时间的最小值 那么,dist[i][j]可以转移到dist[k][j+1]和dist[k][j],一边spfa一边dp,即可 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 首先,跑floyd,计算最短路和最短路径数 然后,计算答案,枚举k,s,t,若dist[s][k] + dist[k][t] = dist[s][t], 那么,点对(s,t)对答案k的”贡献“就是c[s][k]*c[k][t]/c[s][t] 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 floyd求最小环 输出路径的方法如下,对于i到j的最短路,我们记pre[i][j]表示j的上一步 在进行松弛操作的时候更新pre即可 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 SPFA + SLF / LLL 优化 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 令cost(i,j) = 第i天到第j天走相同的路线,路线长度的最小值 那么,只需筛选出第i天到第j天可以装卸货物的码头,然后将这些码头之间连边,跑弗洛伊德(或其它最短路算法),即可 然后,我们用f[i]表示前i天,总成本最小是多少,显然有 : f[i] = m
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 弗洛伊德求最小环模板 我们知道,在一个环上,一定有一个有且仅有一个编号最大的点,设这个点为k,起点为i,终点为j,那么 mincost = dist[i][j] + cost[j][k] + cost[k][i] (dist[i][j]为i到j的最短路) 所以只
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 最短路 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 dijkstra 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 按x轴排序,将相邻点连边 按y轴排序,将相邻点连边 然后对这个图跑最短路就可以了,笔者用的是dijkstra算法 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 最短路 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 最短路,注意不能用dijkstra,要用SPFA 【代码】
阅读全文
摘要:【比赛链接】 点击打开链接 【题解】 Problem A Word Correction【字符串】 不用多说了吧,字符串的基本操作 Problem B Run for your prize【贪心】 我们可以将这个数轴一分为二,小于等于500000的由第一个人领,否则由第二个人领 Problem C
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 概率DP 先跑一遍floyed,求出每个教室之间的最短路径,存在数组dist[][]中,时间复杂度O(V^3) 设计状态,f[i][j][k]表示当前选到第i个教室,已经选了j个教室,当前这个教室选不选(0..1) 那么,状态转移方程是什么呢? 假设当前选到第i
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 状压DP f[i][S]表示走的最后一步在i,状态为S 于是我们可以用最短路径 + 状压DP解决此题,由于不存在负边,所以可以用dijkstra+堆优化 【代码】
阅读全文
摘要:题目链接 : 【POJ】点击打开链接 【caioj】点击打开链接 算法 : 1:跑一遍弗洛伊德,求出点与点之间的最短路径 2:二分答案,二分”最大值最小“ 3.1:建边,将原点与每头奶牛连边,流量为1,记dist[i][j]为i到j的最短路径,若dist[i][j]<=mid (K+1<=i<=K+
阅读全文

浙公网安备 33010602011771号