
最短路/差分约束
文章平均质量分 65
最短路及其应用问题
小衣同学
No Saturday , no Sunday , no holiday .
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
The 2024 ICPC Asia East Continent Online Contest (I) L. Bull Farm(性质题+有向图可达性/最短路)
也就是需要满足,t[i][1]到t[i][n]这一行,除去t[i][j]以外,其他n-1个数两两不重复。也就是最早前dis[j]个按钮时,i是可以访问j的,此时把无向边也当成有向边做,最多也就加3n条边。2. 恰好只有一组数出现了两次,如1 2 2 4 5,此时只能空t[i][2]/t[i][3],dp[i][j]表示初始局面空出来的是j槽,按了i按钮后,空出来的是dp[i][j]槽,所以,基于这个数据范围,很自然暴力的做法就是,离线询问,从前0个处理到前l个,原创 2024-09-17 01:11:51 · 856 阅读 · 0 评论 -
“新华三杯”第十届成都信息工程大学ACM程序设计竞赛(同步赛)L. 怎么走啊(最短路+二分 分段函数)
这样的变化有sqrt个,二分每个变化时的临界点,复杂度似乎是O(nsqrtnlognlogn)的。但是由于只关注1到n的最短路,临界点&二分的量级很难卡满,只能说O(能过)了。之前某条反向边没有用到,现在需要用到反向边,也就是正向边用到的变少了。大致可以证明,在w从1e5减小到1的过程中,衡阳师范学院ac代码、pj学弟。原创 2023-12-11 04:28:35 · 666 阅读 · 0 评论 -
Codeforces Round 800 (Div. 1) C.Keshi in Search of AmShZ(最短路dijkstra理解题)
考虑从点n建反图,类似期望的求法,dis[n]=0,然后在反图跑dijkstra,这点很快就想到了。那么如果只有a->b或b->a的单向边的话,删掉这条边和走这条边的效果是一样的,那么不妨删掉。注意到,如果原图中存在a、b两个点满足dis[a]=dis[b],这两个点之间又有边的话。而如果v的dis已经比u小,堆顶点u又去更新v,显然不会影响dis[v]的最小性。假设每次走的都是最坏的,那么我们不会从dis小的点走向dis大的点。n(n原创 2023-09-04 02:29:34 · 448 阅读 · 0 评论 -
Nebius Welcome Round (Div. 1 + Div. 2) F. Approximate Diameter(构造/图论性质+二分+最短路)
Nebius Welcome Round (Div. 1 + Div. 2) F. Approximate Diameter(构造/图论性质+二分+最短路)原创 2023-03-13 04:07:08 · 335 阅读 · 0 评论 -
AtCoder Beginner Contest 264 G.String Fair(最短路/暴力dp 补写法)
AtCoder Beginner Contest 264 G.String Fair(最短路/暴力dp)SPFA判正环,或者暴力在图上走若干步判断最佳收益有无增大原创 2022-11-27 13:50:16 · 435 阅读 · 0 评论 -
Educational Codeforces Round 138 (Rated for Div. 2) E. Cactus Wall(思维-最短路/01bfs)
Educational Codeforces Round 138 (Rated for Div. 2) E. Cactus Wall(思维-最短路/01bfs)原创 2022-11-11 02:12:01 · 362 阅读 · 0 评论 -
Codeforces Round #829 (Div. 1) D.The Beach(最短路/流量为1的费用流)
Codeforces Round #829 (Div. 1) D.The Beach(最短路/流量为1的费用流)原创 2022-10-24 03:23:55 · 580 阅读 · 0 评论 -
poj3169 Layout(差分约束)
题目N(N<=1e3)只奶牛站在一个数轴上,1,2,...,n的位置呈递增(非严格)的趋势,ML(1<=ML<=1e4)个最大值限制,第i个限制形如ai,bi,di,表示奶牛ai和bi之间的距离不能超过di(1<=di<=1e6)MD(1<=MD<=1e4)个最小值限制,第i个限制形如ai,bi,di,表示奶牛ai和bi之间的距离不能小于di(1<=di<=1e6)询问第1和第n头奶牛之间的最大可能距离,如果排列位置导致无解,输出-1原创 2020-07-16 16:23:32 · 235 阅读 · 0 评论 -
牛客练习赛60 D.斩杀线计算大师(同余最短路)
题目给定a,b,c,k(1<=a,b,c<=1e5,0<=k<=1e12),求一组(x,y,z)满足ax+by+cz=k数据保证一定存在解。如果存在多组解,输出任意一组。思路来源https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43246478题解同余最短路,记mx=max(a,b,c),dis[i]表示凑齐与k%mx==i同余的数,所需要的最少值用最少的值去凑够k%mx的原创 2020-07-01 16:44:14 · 351 阅读 · 0 评论 -
bzoj1027 [JSOI2007]合金(图论/有向图最小环的三种求法 凸包思想)
题目思路来源https://oi-wiki.org/graph/min-circle/题解OI Wiki里给出了几种最小环的实现方法,然而最短路的复杂度都比较鸡肋有向图最小环,代价不为1的时候似乎只能用floyd搞,与无向图最小环的floyd不同,有向图比较方便,开始置dis[i][i]=INF,最后枚举环的必经点i,从而来确定最小的环有向图最小环...原创 2020-04-12 00:08:18 · 445 阅读 · 0 评论 -
poj1734 Sightseeing trip(图论/floyd无向图代价最小环+输出路径)
题目n(n<=100)个点,m(m<=1e4)条边的无向图,第i条边的代价为ci(0<=ci<=500),无自环,可能有重边,要求输出最小环上的点,若有多解,输出一解即可思路来源https://www.cnblogs.com/TengXunGuanFangBlog/archive/2013/04/19/loop_problem.html题解pre...原创 2020-03-18 19:04:36 · 266 阅读 · 0 评论 -
hdu2363 Cycling(枚举或二分+最短路)
题目t(t<=100)组样例,每次给出n(1<=n<=100)个点,第i个点有海拔hi(0<=hi<=1e9),m(0<=m<=5e3)条双向边,第j条边cj(1<=cj<=1e6)求从点1到点n的路径中最高点高度与最低点高度之差最小的最短路即第一关键字极差,第二关键字路径长思路来源https://blog.csdn.n...原创 2020-02-16 13:07:46 · 263 阅读 · 0 评论 -
poj3259 Wormholes(SPFA判环/SPFA判负环)
题目T(T<=5)组样例,每次给出N(N<=500)个点,M(M<=2500)条正权双向边,W(W<=200)条负权单向边,问是否存在负权环思路来源https://blog.csdn.net/forever_dreams/article/details/81161527题解两种bfs版SPFA判负环①最短路更新一个点不会超过n次,如果一个点入队次...原创 2020-02-16 12:49:14 · 308 阅读 · 0 评论 -
hdu1599 find the mincost route && fzu2090 旅行社的烦恼 (floyd 无向图代价最小环的代价 及 环的个数)
题目n(n<=100)个点,m(m<=1e3)条双向边,第i条边代价c(c<=100)元,从V1出发,假设经过的路线为V1,V2,....VK,V1,那么必须满足K>2,即除了出发点以外至少要经过2个其他不同的景区,而且不能重复经过同一个景区。现在8600需要你帮他找一条这样的路线,并且花费越少越好。能找到输出最小代价,不能找到输出It's imposs...原创 2020-02-16 12:38:07 · 259 阅读 · 0 评论 -
洛谷 P1993 小K的农场(最短路/差分约束)
题目小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述:农场a比农场b至少多种植了c个单位的作物, 农场a比农场b至多多种植了c个单位的作物, 农场a与农场b种植的作物数一样多。但是,由于小K的记忆有些偏差,所以他想要知道存不存在一种情况,使得农场的种植作物数量与他记忆中的所有信息吻合。...原创 2019-08-22 21:40:22 · 242 阅读 · 0 评论 -
Educational Codeforces Round 56 (Rated for Div. 2) C - Mishka and the Last Exam(贪心/差分约束)
题意给一个n,一个序列b[],bi=ai+a(n+i-1),求不降序的a序列[]思路来源组里各神犇&&自己题解Solution1:显然a1=0,an=b1的时候,区间长度最长区间里面内置区间的时候如果内区间能左对齐,显然内区间最长,即,如果能[0,8],显然不要[1,7]而若不能左对齐的话,就一定要右对齐即,如果能[3,10]...原创 2018-12-16 12:41:54 · 300 阅读 · 0 评论 -
poj3463 Sightseeing(图论/最短路+次短路的路径数)
题目有向图,n<=1e3,m<=1e4求最短路的路径数量和比最短路长度大1的路径的数量之和题解经典题目,难度尚可,还是总结一下吧,每次取队首时分四种情况讨论即最短路发生更新,等于最短路,次短路发生更新,等于次短路,Node加一维状态区分次短路还是最短路,每发生更新就把更新的值丢进优先队列里有个小优化的地方是,次短路是INF的时候,不放入优先队列代码...原创 2020-01-29 22:00:04 · 375 阅读 · 0 评论 -
2014 Winter Programming School, Kharkiv, day 1 (E. Kapun) G.A path to knowledge(最短路条数/期望)
题目n(1<=n<=1e5)个点的无向图,m(0<=m<=1e5)条边,从点1到点n按最短路走,再从点n到点1按最短路返回,若有多条最短路,随机选一条,输出点i(1<=i<=n)可能被经过的次数的期望题解去和回是等价的,所以答案等价于去的二倍,而单次一个点被经过的期望等价于被经过的概率,即经过这个点的最短路条数除以1到n的最短路总...原创 2019-09-25 10:47:27 · 476 阅读 · 0 评论 -
2019 百度之星初赛三 补题
B.hdu6714 最短路2(最短路/dijkstra+floyd理解)题目在Floyd中,记dis[i][j]中最后一次松弛i到j的最短路的点的编号为x,且令d[i][j]=x求,n<=1e3,m<=2e3思路来源https://blog.csdn.net/a1097304791/article/details/100067541题解对每个点暴力dij...原创 2019-08-25 11:21:11 · 689 阅读 · 0 评论 -
poj2449 Remmarguts' Date(第k短路问题)(A*+spfa/dijkstra)
思路来源https://blog.csdn.net/berrykanry/article/details/78345894(通俗易懂解释好评)https://www.cnblogs.com/yyf0309/p/8438849.html(可惜看不懂可持久化可并堆)题意给定一个图,求第k短路,相同长度不同路径的路被认为是不同的路,若不存在输出-1。题解我才不会说...原创 2018-10-18 18:22:34 · 274 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 L. Magical Girl Haze(dijkstra+分层最短路)
思路来源https://blog.csdn.net/zhangche0526/article/details/62881066题意给你n个城市,m条边,共有k次免费机会,可以将其中k条边的权值变为0,求点1到点n的最短路。题解(百度 分层图最短路问题 发现是原题 QAQ)首先,感谢思路来源的答主,画了个图,让我懂了这题的原理,本来看了好几篇都不懂的 ...原创 2018-10-15 12:57:33 · 350 阅读 · 0 评论 -
hdu5521 M - Meeting(最短路+dijkstra+虚点)
题意:给你n个点和m组集合,让你求点1到点n的最短路。这m组集合中,每行给一个t代表这个强连通集内任两点互相可达的时间,一个s表集合的容量,剩下s个数的是点的标号。要输出的是一人在1,一人在n,是否存在中途某点,使二人最短时间相遇。从两端各跑一遍dijkstra,分别记到dis1数组和disn数组中,在i点实际相遇时间deed=max(dis1[i],disn[i]),...原创 2018-09-21 00:15:40 · 390 阅读 · 0 评论 -
hdu6026 Deleting Edges(最短路+计数)
思路来源https://blog.csdn.net/mengxiang000000/article/details/72801224题意n个点,输入它的邻接矩阵形式,注意0是没有边,其余对应数为其权值。求删边方案数,使得删完边之后是一颗生成树,且所有点到0号点的最短路是不删边之前的最短路。n<=50(数据好弱的说)题解先dijkstra跑一遍最短路,然后开...原创 2018-11-06 13:25:13 · 293 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) D. Edge Deletion(Dijkstra理解题)
思路来源马石页老师&&张舟亢学长题意给你一个n点m边的原图,要求只保留这个图的k条边,使子图上的最短路点尽可能多。最短路点是指到1号节点的最短距离,在原图和子图的值相同。要求输出子图边的编号,按加入的顺序对边进行编号1-m。题解模拟dijkstra的入堆过程,由于dijkstra的贪心选点思想,每次一定选的是到顶点最近的点。因此,必有...原创 2018-11-13 16:06:38 · 265 阅读 · 0 评论 -
立刻出行杯-高年级组 F-Stein's Gate(最短路)
思路来源凯爷题解出题人题解心得具体实现的时候,建边要比n建的大一些,要考虑回来情况的最短路,考虑到最后1e6输出42,那么建边的时候,最少要建1e6+42叭……其实我最后建的1e6+1e5建这7条边的确是因为,自己敲了一发bfs,发现100以内的只有10步左右,所以没必要去扩那么大步,小步小步走比较优,这就像质数分解一样……能用2去凑反素数,...原创 2018-12-25 19:38:31 · 382 阅读 · 0 评论 -
poj3613 Cow Relays(最短路/矩阵快速幂+floyd/经过k条边的APSP)
题目t(t<=100)条边,每个边两端的点的编号在1-1e3之间边权w<=1e3给一个起点S,一个终点E,求S->E经过n<=1e6条边的最短路思路来源https://blog.csdn.net/monster__yi/article/details/51069236马老师!!!题解我今天要吹爆mls!!!本来wa得不能自已,马老...原创 2019-02-22 20:23:56 · 329 阅读 · 0 评论 -
CF295B Greg and Graph(离线+floyd/删点+统计最短路和)
题目n(n<=500)个点的完全图,每次删掉一个点,直至删尽,删一个则询问一次剩下每一对点的最短路权值之和。思路来源https://blog.csdn.net/Icefox_zhx/article/details/77967593题解离线+floyd倒着做就是加点的过程,考虑floyd,最外层floyd即枚举中间点k那么我们加一个点,就把它用于全图更新...原创 2019-02-22 21:51:54 · 601 阅读 · 0 评论 -
hdu6386 Age of Moyu(最短路)
题目n个点,m条双向边每条边三个参数a,b,c,代表a->b和b->a的主人是c当a->b->c的时候,若a->b与b->c同主,则第二条边没有边权否则第二条边边权为1,特别地从起点出发的第一条边的边权一定为1,问从1号点是否能到达n号点,最小边权是多少思路来源https://blog.csdn.net/Originum/...原创 2019-02-27 23:07:19 · 247 阅读 · 0 评论 -
hdu6290 奢侈的旅行(最短路)
题目给你n个点,m条边每条边有四个权值,u,v,a,b代表这是一条u->v的边,通过这条边需要的,level是到达u点时的等级,特别地,如果cost<b,则这条边过不去初始level为1,且人在1号点,问是否能到n号点,且求最小cost思路来源https://www.cnblogs.com/lqerio/p/9832642.html(题解)h...原创 2019-02-26 17:49:00 · 329 阅读 · 0 评论 -
hdu3986 Harry Potter and the Final Battle(删边最短路/枚举+dijkstra)
题目T(T<=20)组数据,n(n<=1e3)个点,m(m<=5e4)条边,每条边都是双向的,从点1到点n的最短路中,对方会炸毁一条,问你在最坏情况下最短路是多长题解先跑一遍dijkstra,用pre[v]和E[v]把前驱的点和边都记录下来如果不通,就不用枚举删哪条边了从点n向点1回溯,在回溯的路上枚举删边,每删一条就跑一次dijkstra,取中途...原创 2019-03-09 22:27:15 · 286 阅读 · 0 评论 -
天梯赛 L3-007 天梯地图(最短路/两关键字dijkstra)
题目不同时候的样例相同时候的样例题解就是裸的dijkstra,按第一关键字比较,相同的话再比较第二关键字只是我写了两个dijkstra,代码非常的丑就是了……自己姿势匮乏,命名的时候各种重名还和库函数time冲突那就叫tim叭……代码#include<iostream>#include<cstdio>#include<...原创 2019-03-25 17:17:05 · 338 阅读 · 0 评论 -
牛客小白月赛16 J.小雨坐地铁(最短路/分层图最短路dijkstra+虚点)
题目n(n<=500)个地铁站,m(m<=1e3)条地铁线,可能公用地铁站第i条地铁,进站花费ai价格,每坐一站花费bi价格(1<=ai,bi<=100)第i条地铁,有ci个地铁站,相邻的两个相连,多条线经过同一站点可以换乘,换乘时需要花费另一条地铁的入站价格现从s出发,想要到t,问最少花费的价格,不可达输出-1思路来源https://ac.no...原创 2019-07-19 11:20:16 · 339 阅读 · 0 评论 -
poj2594 Treasure Exploration(有向图可相交最小路径覆盖/floyd传递闭包)
题目DAG,n(n<=500)个点,m(m<=5000)条边,求最小路径覆盖的条数,路径允许相交思路来源https://www.cnblogs.com/hujunzheng/p/3919231.html题解图片来自思路来源,如果允许路径相交,就把间接相连的路径也连边这样如果要走形如1-2-5,2-3-4这样相交的路径,就认为是走1-2-5,3-4不相交的...原创 2019-08-17 10:42:25 · 256 阅读 · 0 评论 -
牛客国庆集训派对Day1 L-New Game!(解析几何之最短路dijkstra)
思路来源https://www.nowcoder.com/acm/contest/view-submission?submissionId=35704244题意n个圆,两条平行线,走在线上和圆上不花费,问从一条平行线到另一条平行线的最小花费。花费,将其定义为两点的欧几里得距离。题解将两条平行线分别抽象为2个点,将n个圆也抽象为n个点,然后跑一遍(n+2)...原创 2018-10-02 18:37:59 · 263 阅读 · 0 评论