最短路
v5zsq
新的一天,新的不会
展开
-
Newcoder 109 E.求长度(spfa+状压DP)
Description给定一幅nnn个点mmm条边的图和SSS个一定要经过的点,问从000号点出发,经过这SSS个点再回到000号点的最短路径长度是多少。Input第一行一个整数TTT表示数据组数对于每组数据,第一行两个整数n,mn,mn,m表示点数和边数接下来mmm行,每行三个整数x,y,zx, y, zx,y,z表示xyxyxy之间有一条长度为ccc的双向边接下来一个整数SSS接...原创 2018-10-18 19:18:00 · 196 阅读 · 0 评论 -
HDU 2112 HDU Today(Floyd)
Description 给出n个公交线路的起点终点名称和用时,问从一个地方到另一个地方所需最短时间 Input 多组用例,每组用例第一行输入一整数n表示公交线路数量,之后输入起点和终点名称,最后n行每行输入一个公交线路的起点和终点以及用时,以n=-1结束输入,每组用例中出现的名称不会超过150个,每个串长不会超过30,n<=10000 Output 输出起点到终点的最短用时,如果起点终点不原创 2017-07-24 19:33:26 · 499 阅读 · 0 评论 -
POJ 3169 Layout(差分约束-SPFA)
Description 当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些。FJ有N(2一些奶牛相互间存有好感,它们希望两者之间的距离不超过一个给定的数L。另一方面,一些奶牛相互间非常反感,它们希望两者间的距离不小于一个给定的数D。给出ML条关于两头奶牛间有好感的描述,再给出MD条关于两头奶牛间存有反感的描述。(1你的工作是:如果不存在满足要求的方案,输出-1;如果1号奶牛和N号奶牛间的距离可原创 2015-07-12 12:09:10 · 609 阅读 · 0 评论 -
POJ 1860 Currency Exchange(SPFA判正环)
Description 给定n种货币,某些货币之间可以相互兑换,现在给定一些兑换规则,问能否从某一种货币开始兑换,经过一些中间货币之后,最后兑换回这种货币,并且得到的钱比之前的多 Input 第一行为四个整数n,m,s,v分别表示货币种类,兑换规则,初始货币种类和初始货币数量,之后m行每行为一个兑换规则,每行首先是两个整数a,b表示a货币和b货币可以兑换,然后是四个浮点数表示a换b的汇率,手原创 2015-07-08 09:02:17 · 656 阅读 · 0 评论 -
HDU 5294 Tricks Device(SPFA+最大流-Dinic)
Description 给你n个墓室,m条路径,一个人在1号墓室(起点),另一个人在n号墓室(终点),起点的那个人只有通过最短路径才能追上终点的那个人,而终点的那个人能切断任意路径。 第一问:终点那人要使起点那人不能追上的情况下可以切的最少的路径数,输出最少的路径数 第二问:起点那人能追上终点那人的情况下,终点那人能切断的最多的路径数,输出最多的路径数 Input 多组用例,每组用例第一原创 2015-08-11 17:01:03 · 484 阅读 · 0 评论 -
HDU 2544 最短路(SPFA)
Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗? Input 输入包括多组数据。每组数据第一行是两个整数N、M(N输入保证至少存在1条商店到赛场的路线 Output 对于每组输入,输出一行,表示工作人员从原创 2015-09-03 14:31:23 · 500 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home(SPFA)
Description n个点m条边,每条边有权值,问从点1到点n的最短距离 Input 第一行两个整数m和n表示边数和点数(1<=m<=2000,1<=n<=1000),之后m行每行三个整数a,b和c表示点a和点b之间有一条权值为c的双向边 Output 输出点1到点n的最短距离 Sample Input 5 5 1 2 20 2 3 30 3 4 20 4 5 20 1原创 2015-12-28 14:39:48 · 1020 阅读 · 0 评论 -
HDU 2066 一个人的旅行(SPFA)
Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,原创 2015-12-30 13:51:57 · 444 阅读 · 0 评论 -
POJ 3621 Sightseeing Cows(01分数规划+二分+SPFA判负环)
Description 给出一张有向图,求一个回路使其点权和/边权和最大(保证有回路) Input 第一行为两个整数n和m表示点数和边数,之后n个整数表示n个点的点权,最后m行每行三个整数a,b,c表示a点到b点有一条权值为c的边 Output 输出一条回路的最大点权和/边权和值 Sample Input 5 7 30 10 10 5 10 1 2 3 2 3 2 3原创 2015-12-31 13:52:26 · 754 阅读 · 0 评论 -
POJ 1364 King(差分约束-SPFA)
Description 求一个长度为n的序列Si使其满足给出的m条限制,限制分两种,某个子序列的和小于或大于k,问这样的序列是否存在 Input 多组用例,每组用例第一行为两个整数n和m表示序列长度和限制数,之后m行每行首先输入两个整数a和b表示该序列的子序列[a,a+b],之后为一字符串表示限制种类(gt表示大于,lt表示小于),然后是一个整数k表示对这个子列的限制,以0结束输入 Outp原创 2016-03-15 10:53:16 · 517 阅读 · 0 评论 -
POJ 3268 Silver Cow Party(SPFA)
Description 一张n个点m条边的有向图,每条边有边权,求除x外其余n-1个点到x点再回去的最短路边权和中的最大值 Input 多组用例,每组用例首先输入三个整数n,m,x分别表示点数,边数和目标点编号,之后m行每行三个整数,u,v,w表示u点到v点有一条边权为w的有向边,以文件尾结束输入(1<=n<=1000,1<=m<=100000,1<=x<=n) Output 对于每组用例原创 2017-02-27 16:33:55 · 386 阅读 · 0 评论 -
SGU 103 Traffic Lights(SPFA)
Description 给定一个带权无向图,每个点有一个颜色属性(B or P),颜色会在B和P之间来回变换,两种颜色各有一个持续时间,两个邻接的点之间能够通行当且仅当两点是相同的颜色,通行的代价为边权,可在点处等待,给定起点,终点,每个点的初始颜色和持续时间,蓝色的持续时间,紫色的持续时间,求起点到终点的最短时间和满足最短时间的路径 Input 第一行两个整数s和t表示起点和终点,第二行两个原创 2016-04-14 08:53:28 · 565 阅读 · 0 评论 -
BZOJ 1003 物流运输(SPFA+dp)
Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流公司希望能够订一个原创 2016-09-03 14:59:44 · 964 阅读 · 0 评论 -
CodeForces 689 B. Mike and Shortcuts(SPFA)
Description n个点,任意两点距离为其编号差的绝对值,同时有n条捷径,i到a[i]之间距离为1,问点1到点i的最短距离 Input 第一行一整数n表示点数,之后n个整数a[i] (1<=n<=200000,i<=a[i]<=n,a[i]<=a[i+1]) Output 输出n个数,第i个数表示点1到点i的最短距离 Sample Input 3 2 2 3 Sample O原创 2017-02-28 16:21:14 · 437 阅读 · 0 评论 -
HDU 1874 畅通工程续(Floyd)
Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0 < N原创 2017-07-24 19:36:27 · 467 阅读 · 0 评论 -
HDU 1385 Minimum Transport Cost(Floyd)
Description n个点,边有边权,点有点权,定义两点之间路径长度为路径上边权和加上路径上除起点终点外的点权和,给出多组查询,每次给出起点和终点,问两点间最短距离 Input 多组用例,每组用例第一行输入一整数n表示点数,之后一个n*n矩阵A表示邻接矩阵,然后输入n个值val[i]表示第i个点的点权,之后输入多组查询,每组查询输入两个整数s,e表示查询s到e的最短距离,以-1 -1结束查原创 2017-07-24 19:42:58 · 396 阅读 · 0 评论 -
Newcoder 148 F.Rikka with Line Graph(Floyd+归并排序)
Description对于一个图G=&lt;V,E&gt;G=&lt;V,E&gt;G=<V,E>,定义其线图L(G)L(G)L(G)为一个带权无向图满足1.L(G)L(G)L(G)有∣E∣|E|∣E∣个顶点,第iii个顶点对应GGG的第iii条边2.在L(G)L(G)L(G)中两点i,ji,ji,j之间有边当且仅当GGG中第iii条边和第jjj条...原创 2018-09-25 20:19:52 · 259 阅读 · 0 评论 -
HDU 6386 Age of Moyu(最短路+set)
Description给出一条nnn个点mmm条边的无向图,每条边有颜色,如果当前边的颜色与前一条边的颜色相同则当前边边权为000,否则为111,问111到nnn的最短路长度Input多组用例,每组用例首先输入两整数n,mn,mn,m表示点数和边数,之后mmm行每行输入三个整数u,v,cu,v,cu,v,c表示u,vu,vu,v之间有一条颜色为ccc的边(2≤n≤105,0≤m≤2...原创 2018-09-09 21:44:11 · 178 阅读 · 0 评论 -
CodeForces 79 D.Password(SPFA+状压DP)
Description有nnn个开关,初始状态均为关闭状态,现在要通过若干操作打开其中的kkk个开关x1,...,xkx1,...,xkx_1,...,x_k,每次操作可以选取一个起点后反转该起点及之后共a1,...,ala1,...,ala_1,...,a_l个开关的状态,问最少要几步操作可以达到要求,如果无解则输出−1−1-1Input第一行输入三个整数n,k,ln,k,ln,k,...原创 2018-07-15 15:54:36 · 514 阅读 · 0 评论 -
CodeForces 70 E.Information Reform(树形DP+Floyd)
Description给出一棵nnn个节点的树,边权均为111,要求在其中一些点建立信息中转站,距离中转站lenlenlen的点收到信息的代价为dlendlend_{len},设置一个中转站的代价是KKK,问如何设置可以使得总代价最小Input 第一行两个整数n,Kn,Kn,K表示点数和设置一个中转站的代价,之后输入nnn个整数d1,...,dnd1,...,dnd_1,...,d_n...原创 2018-07-14 12:20:00 · 373 阅读 · 0 评论 -
GYM 101653 W.Wormhole(Floyd)
Description 给出n个星球的名称和三维坐标,距离定义为欧氏距离,其中有m对星球之间存在虫洞,那么这对星球之间距离为0,q次查询,每次查询一对星球之间的最短距离 Input 第一行一整数T表示用例组数,每组用例首先输入一整数n表示星球数量,之后输入每个星球的名字和三维坐标x,y,x,然后是一整数m表示虫洞数量,之后m行每行输入两个星球的名字表示这对星球之间存在虫洞,然后是一整数q表示...原创 2018-05-22 16:31:12 · 385 阅读 · 0 评论 -
CodeForces 48 E.Ivan the Fool VS Gorynych the Dragon(SPFA+dfs)
Description怪兽初始状态有hhh个头,ttt个尾巴,一个勇士要杀掉怪兽,他一次可以砍掉怪兽的iii个头(1≤i≤n)(1≤i≤n)(1\le i\le n)或者砍掉怪兽的jjj个尾巴(1≤j≤m)(1≤j≤m)(1\le j\le m),如果砍掉怪兽的iii个头怪兽会长出来aiaia_i个头和bibib_i个尾巴,砍掉怪兽的jjj个尾巴怪兽会长出来cicic_i个头和didid_i个...原创 2018-04-20 19:42:52 · 347 阅读 · 0 评论 -
GYM 101755 D.Transfer Window(Floyd+二分匹配-hungary+dfs)
Description共有nnn名队员,队伍里已有kkk名队员a1,...,aka1,...,aka_1,...,a_k,但是期望队伍里有的队员是b1,...,bkb1,...,bkb_1,...,b_k,已知矩阵Ai,jAi,jA_{i,j},其中Ai,j=1Ai,j=1A_{i,j}=1表示队伍中的iii队员可以换成jjj队员(iii队员在队伍里且jjj队员不在队伍里的前提下),问是否存在...原创 2018-05-01 14:46:38 · 436 阅读 · 0 评论 -
HDU 6181 Two Paths(Dijkstra)
Description给出一张无向图,边有边权,无重边无自环,求111到nnn的一条次短路Input第一行一整数TTT表示用例组数,每组用例首先输入两个整数nnn和mmm表示点数和边数,之后mmm行每行三个整数u,v,wu,v,wu,v,w表示uuu和vvv之间有一条边权为www的边(1≤T≤15,2≤n,m≤105,1≤w≤109)(1≤T≤15,2≤n,m≤105,1≤w≤109)...原创 2018-02-12 17:31:50 · 299 阅读 · 0 评论 -
HDU 6166 Senior Pan(Dijkstra)
Description给出一个nnn个点mmm条边的有向图,边有边权,给出一个点集有kkk个点,问这个点集内的点两两之间最短路的最小值Input第一行一整数TTT表示用例组数,每组用例首先输入两个整数n,mn,mn,m表示点数和边数,之后mmm行每行输入三个整数ui,vi,ciui,vi,ciu_i,v_i,c_i表示uiuiu_i到viviv_i有一条边权为cicic_i的有向边,然...原创 2018-02-10 17:07:02 · 455 阅读 · 0 评论 -
ACdream 1100 瑶瑶饿了(Folyd+完全背包)
Description 你们肯定都不知道从前有个很聪明的妹子,她的名字叫瑶瑶(tsyao)。一天,瑶瑶在自己家里建造了一个魔法阵。她在魔法阵找吃的,这个魔法阵有n种食物,每种食物有xi份,而且每种食物位于魔法阵的不同位置(相同食物位于相同位置)。吃第i种食物,每一份会消耗ti的时间,获得wi的价值。当然这个魔法阵有魔力,每次吃一种食物后瑶瑶会传送回到自己家(耗时0),并且不能再吃该种食物。另外,原创 2015-07-25 13:07:21 · 620 阅读 · 0 评论 -
HDU 6080 度度熊保护村庄(计算几何+最小环-Floyd)
Description哗啦啦村袭击了喵哈哈村!度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。但是度度熊发现,这是一场旷日持久的战斗,所以度度熊决定要以逸待劳,保存尽量多的体力,去迎战哗啦啦村的战士。于是度度熊决定派尽量多的人去休息,但是同时也不能松懈对喵哈哈村的保护。换句话而言,度度熊希望尽量多的人休息,而且存原创 2017-08-17 09:54:35 · 1346 阅读 · 0 评论 -
ZOJ 3632 Watermelon Full of Water(SPFA)
Description n天,每天都要吃西瓜,第i天可以花p[i]的代价买一个可以吃第d[i]天的大西瓜,如果某天买了新的西瓜就会把没吃完的西瓜都扔掉吃新的西瓜,问n天都吃西瓜的最小代价 Input 多组用例,每组用例首先输入一整数n表示要吃西瓜的天数,之后n个整数p[i]表示第i天西瓜的价格,最后n个整数d[i]表示第i天西瓜可以吃的天数(用例数不超过200,1<=n<=5e4...原创 2017-07-24 20:10:03 · 446 阅读 · 0 评论 -
HDU 3499 Flight(SPFA+map)
Description 给出若干张机票的起点终点名称和价格,有一张机票打对折,给出起点终点,问最少花费 Input 多组用例,每组用例第一行两个整数n和m分别表示城市数和机票数,之后m行每行输入起点城市名称u和终点城市名称v以及机票价格c,最后输入起点名称和终点名称,以文件尾结束输入(2<=n<=1e5,0<=m<=5e5,0<=c<=1e5,城市名称不超过10个字符) Output 对于原创 2017-07-24 19:51:27 · 484 阅读 · 0 评论 -
GYM 100030 J.Secret Laboratory(SPFA)
Description 一张图,边有边权和权限,如果权限不够这条边就不能走,问在所用时间不超过T的前提下,从1到n的所需的最小权限是多少,在最小权限下最短用时是多少 Input 第一行两整数n和m分别表示点数和边数,只有m行每行四个整数u,v,d,s表示u和v之间有一条边权为d的边,欲通过该边需要s的权限(2<=n<=2000,1<=m<=2000,1<=d,s<=1e6) Output原创 2017-03-05 15:37:06 · 412 阅读 · 0 评论 -
POJ 3114 Countries in War(强连通分量+SPFA)
Description 间谍在战争时期想要传递一份信件回国,信件可以在邮局之间传递,这种传递是单向的并且有耗时,如果两个邮局在同一个国家的话,那么信件在它们之间传递可以立即完成,而判断两个邮局是否属于同一个国家的依据就是发出的信件可以互相到达,现给出多次查询,每次查询从一个点传递信件到另一个点最快需要多久 Input 多组用例,每组用例第一行为两个整数n和m表示点数和边数,之后m行每行三个整数原创 2016-03-15 11:36:46 · 506 阅读 · 0 评论 -
POJ 1201 Intervals(差分约束-SPFA)
Description 构造一个集合,这个集合内的数字需要满足所给的n个条件,每个条件都是指在[a,b]中至少有c个数在集合内,问这个集合最少包含多少个点 Input 第一行一整数n表示条件数,之后n行每行三个整数ai,bi,ci表示一个条件 (1<=n<=50000,1<=ai<=bi<=50000,1<=ci<=bi-ai+1) Output 输出这个集合最少包含多少个点 Samp原创 2016-03-15 11:03:38 · 416 阅读 · 0 评论 -
POJ 1734 Sightseeing trip(最小环-Floyd)
Description 给出一张n个点的无向图,每条边有边权,求最小环,顺次输出最小环上的点 Input 第一行两个整数n和m表示点数和边数,之后m行每行三个整数a,b,c表示a点和b点之间有一条边权为c的边(n<=100,m<=10000) Output 顺次输出最小环上的点,如有多种可能情况输出其中一种即可 Sample Input 5 7 1 4 1 1 3 300 3 1原创 2016-03-15 11:26:33 · 859 阅读 · 0 评论 -
HDU 5636 Shortest Path(Floyd)
Description n个点,i点与i+1点之间有一条边(1<=i < n),现在在这张图中再加三条边,所有边权都是1,m次查询,每次查询si到ei的最短路zi,求sum{i*zi} Input 第一行一整数T表示用例组数,每组用例首先输入两个整数n和m表示点数和查询数,之后六个整数a1,b1,a2,b2,a3,b3表示新加的三条边的起点和终点,最后m行每行两个整数si,ei表示该次查询si原创 2016-09-19 22:55:59 · 392 阅读 · 0 评论 -
BZOJ 1001 狼抓兔子(Dijkstra)
Description 现在小朋友们最喜欢的”喜羊羊与灰太狼”,话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路 1:(x,y)<==>(x+1,y) 2:(x,y)<==>(x,y+1) 3:(x,y)<原创 2016-09-03 11:05:05 · 516 阅读 · 0 评论 -
CodeForces 500 B. New Year Permutation(贪心+Floyd)
Description 给出一个长度为n的序列p和一个n*n的矩阵A,如果A[i][j]=1,那么pi和p可以互换,输出经过一系列变换后字典序最小的p序列 Input 第一行为一整数n表示序列长度,第二行n个整数表示p序列,之后为一个n*n的01矩阵A Output 输出经过变换后字典序最小的p序列 Sample Inout 7 5 2 4 3 6 7 1 0001001 000原创 2015-11-02 14:46:32 · 544 阅读 · 0 评论 -
POJ 2449 Remmarguts' Date(k短路)
Description 给出一张n个点m条边的无向图,问从s到t的路径中第k短的路径长度 Input 第一行两个整数n和m表示点数和边数,之后m行每行三个整数a,b,c表示a点和b点之间有一条权值为c的边,之后三个整数s,t,k表示求s到t的k短路 Output 输出从s到t的路径中第k短的路径长度 Sample Input 2 2 1 2 5 2 1 4 1 2 2 Samp原创 2016-03-13 23:02:37 · 571 阅读 · 0 评论 -
POJ 2607 Fire Station(Floyd)
Description 有n个城市,其中的m个城市有消防站,部分城市之间有道路通行,现要新建一个消防站以最小化每个城市距消防站的最大距离,输出这个最小距离 Input 第一行两个整数m和n分别表示已有消防站的城市个数和总城市个数,第二行m个整数表示有消防站的城市编号,之后每行三个整数u,v,c表示城市u和城市v之间有长度为c的道路,以文件尾结束道路输入(n<=500) Output 输出最原创 2016-02-12 13:26:13 · 488 阅读 · 0 评论 -
POJ 1062 昂贵的婚礼(Dijkstra)
Description 年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。”探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换原创 2015-06-20 14:36:50 · 801 阅读 · 0 评论 -
POJ 3255 Roadblocks(Dijkstra)
Description 在一个图上有许多个农场,有个人从1农场出发,到他的朋友n农场去,他不想走一条最短路径,这次他想换条路走,要你帮他找一条次短路径,次短路的定义是,比最短路径长度短(可能有多条),但是不会比其他的路径长度长。而且告诉你数据中一定存在至少一条次短路。 Input 第一行两个整数n和r分别表示农场个数和路径条数,之后r行每行三个整数a,b,d表示a农场与b农场之间有一条长度为原创 2015-07-13 09:45:25 · 663 阅读 · 0 评论