随笔分类 - 最短路径
摘要:[题目链接] https://loj.ac/problem/539 [算法] 首先 , 我们用f[u][k]表示现在在景点u ,还有k元钱 , 最多能够走多少路 不难发现f[u][k] = max{ f[v][k - P[u]] + Dist(u,v,min(C,ci)) } ( dist(u,v,
阅读全文
摘要:[题目链接] https://loj.ac/problem/2613 [算法] 首先 , 有一个很显然的性质 : 无论空格怎样移动 , 地图都不会发生改变 , 我们关心的只有空格的位置和指定棋子的位置 , 通过这个性质 , 进行广度优先搜索BFS可以拿到80分 那么 , 怎样拿到满分呢? 首先 ,
阅读全文
摘要:[题目链接] https://codeforces.com/contest/986/problem/F [算法] 不难发现 , 每个人都在且仅在一个简单环中 , 设这些环长的长度分别为 A1, A2 , A3 ... Alen, 那么有 : 1. A1 + A2 + A3 + .. + Alen =
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3126 [算法] 差分约束系统 注意SPFA判负环的条件应为 : 若所有点入队次数之和 > 点数 + 边数,说明有负环 [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1698 [算法] 最短路 [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2763 [算法] 分层图最短路 [代码]
阅读全文
摘要:[题目链接] http://poj.org/problem?id=3463 [算法] 最短路 [代码]
阅读全文
摘要:[题目链接] https://www.spoj.com/problems/ADATRIP/ [算法] 直接使用dijkstra堆优化算法即可 [代码]
阅读全文
摘要:[题目链接] https://www.luogu.org/problemnew/show/P1073 [算法] 首先,我们知道,如果进行贸易,一定是选择某个节点到终点路径上商品价格的最大值 - 起点到该节点路径上商品价格的最小值 那么算法就很明确了 : 建一张正向图和反向图,分别用spfa求出起点/
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1579 [算法] dist[u][k]表示当前在点u,升级了k条道路,最短路径的长度 dijkstra即可 [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2100 [算法] Answer = min{ dist(PB,PA1) + dist(PA1,PA2) , dist(PB,PA2) + dist(PA1,PA2) } (其中,dist
阅读全文
摘要:[题目链接] http://uoj.ac/problem/331 [算法] 首先,我们预处理出每个点到第N个点的最短路,这等价于在反图上求第N个点到其余点的最短路 然后,我们用f[u][k]表示从第u个点到第n个点,至多走长度为dist(u,n) + k的路径有多少种走法 记忆化搜索即可,注意判断是
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1097 [算法] 首先,用Dijkstra算法求出2-k+1到每个点的最短路 然后,我们用f[S][i]表示目前停留城市集合为S,现在在城市i,最短的路径 状压DP即可 [代码]
阅读全文
摘要:【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=1598 【算法】 A*求k短路 【代码】
阅读全文
摘要:【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=1975 【算法】 A*求k短路 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2449 【算法】 A*(启发式搜索) 首先,求第k短路可以用优先队列BFS实现,当T第k次入队时,就求得了第k短路,但是,这种做法的复杂度太高 考虑使用A*算法,每个点的估价函数就是这个点到T的最短路,不妨将所有的边反过来求最短路,
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 设Ti为第i小时有多少个出纳员开始工作,Vi表示第i小时有多少个来应聘的出纳员 那么,有 : 1. 0 <= Ti <= Vi 2. Ti + Ti-1 + Ti-2 + Ti-3 + Ti-4 + Ti-5 + Ti-6 + Ti-7 >= Ri 令Si =
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 当x = 1时,连边(a,b,0)和(b,a,0) 当x = 2时,连边(a,b,1) 当x = 3时,连边(b,a,0) 当x = 4时,连边(b,a,1) 当x = 5时,连边(a,b,0) 建立超级源点(Super Source),将这个点与所有点连一条权
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 差分约束系统 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 差分约束系统 【代码】
阅读全文

浙公网安备 33010602011771号