
最短路
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
[SDOI2010] BZOJ 1922 大陆争霸-图论-最短路径-dijkstra算法
题目链接:右转进入题目题目大意:给定一张有向带权图,但是到达一个点之前必须访问另一些点。求从点1到点n的最短路径。题解:用一个“伪状态转移方程”来描述(之所以是说伪,是因为这是个图而不是个树,所以仅仅用来表示逻辑)dist[x]=max{d[from[x]],min{dist[pre[x]]+e[i].wgt}}。这个意思是:到达一个点的真正用时,是在到达它之前必须到达的点原创 2017-04-14 21:14:12 · 651 阅读 · 0 评论 -
「2017 山东一轮集训 Day6」重建 - 最短路 - dp
题目大意:给一张无向带权连通图,和一些关键点,求一个最大的非负整数c,使得每条边的边权加上c之后,s到t的最短路等于s到t只经过关键点的最短路。题解:观察到s到t的最短路是一个关于边数的分段函数,令f[x,i]表示从s出发走到x经过恰好i条边的最短路,g为经过关键点的数组。那么分别意会出这两个分段函数后,就是求一个x,使得两个函数在此处取值相同。注意到g[t,i]>=f[t,i],也...原创 2018-12-09 09:13:52 · 423 阅读 · 0 评论 -
覆盖独立集 - dp
题目大意:给你一张无向图G(V,E),∣V∣=nG(V,E),|V|=nG(V,E),∣V∣=n,满足存在整数序列{an}\{a_n\}{an},使得:∀1≤x<y≤n,∃(x,y)∈V⇐⇒ax>ay\forall1\le x<y\le n,\exist(x,y)\in V\Leftarrow\Rightarrow a_x&gt原创 2018-10-05 13:06:27 · 186 阅读 · 0 评论 -
狂飙突进的幻想乡 - 最短路 - 辛普森积分
题目大意:给一张无向图,每条边有个(x,y),每条边的边权是ax+(1−a)yax+(1−a)yax+(1-a)y。若a在[0,1]均匀随机,问期望最短路是多少。n<=200,m<=400。x,y<=10^7且随机生成。 题解:你可以直接辛普森积分水过。#include<iostream>#include<cstring>#include&a原创 2018-09-15 15:22:27 · 202 阅读 · 0 评论 -
bzoj 4699 树上最短路 - 最短路 - 线段树 - 并查集
过了这么长时间都快忘了怎么做了…… 考虑修改一下dijkstra算法的过程,我们不是每次把一个点的dist放到堆里,而是把所有每条边的起点的dist+边权放到堆里,这样的好处是,在这种出边边权相同的情况下,可以保证每个点只会被更新一次。 这个题的性质是,一个下水道只会在第一次访问的时候用到,因此先预处理一个点被哪些下水道覆盖,然后每次更新一个点就把所有这样的区间拿出来,然后更新这些区间能够到达...原创 2018-07-21 09:28:58 · 936 阅读 · 0 评论 -
[NOI2018]归程 - 最小生成树 - 最短路 - kruskal重构树
做法是这样的,考虑kruskal的过程,每次合并两个联通块就新建一个点连向这个点并且边权是合并的时刻,这样时刻从下到上是递增的,每次询问的时候二分即可求出一个点在某个时刻所在的联通块的信息。// luogu-judger-enable-o2#include<iostream>#include<cstring>#include<cstdio>#in...原创 2018-07-21 09:11:52 · 356 阅读 · 0 评论 -
逃离 最短路
题目大意:给定一个无向正权图,有k个“安全点”,你初始在1号点,每次在你走之前对方可以同时最多封锁d条道路。(封锁仅限于当前这一轮)。现在问在两人都绝顶聪明的情况下,你从1号点能否走到任意一个安全点,以及最少要走多少路。题解:第一次在比赛里面写spfa,莫名其妙的spfa就挂了。。。。好像这个题不能用spfa(下文有解释)首先注意到从k个安全点出发可以到达某一个安全点并且最原创 2017-06-14 20:54:00 · 457 阅读 · 0 评论 -
[CQOI2015]网络吞吐量 - 最短路 - 网络流
传送门题解:如题求出最短路网拆点跑网络流即可。#include#include#include#include#include#include#include#define INF (LLONG_MAX/3)#define MAXN 1010#define MAXM 200010#defin原创 2017-06-26 19:08:52 · 1048 阅读 · 0 评论 -
[ZJOI2006]BZOJ 1003 物流运输 - 最短路 - dp
传送门这个题想明白了还是还是非常的,就是注意到对T天分为若干段,每段的费用一定选择可行最短路。然后就是dp,没了。//ZJOI 2006//BZOJ 1003#include#include#include#include#include#include#define INF (LLONG_MAX/3)#define MAXN 30#define MAXT 11原创 2017-06-26 18:55:12 · 555 阅读 · 0 评论 -
BZOJ 1001 狼抓兔子 - 最短路
传送门题解平面图最小割,转化为对偶图跑最短路即可。这个网上随便搜一下题解满天飞。代码://BZOJ 1001#include#include#include#include#include#define INF (LLONG_MAX/3)#define P(i,j) (((i)-1)*(m-1)+(j))#define Q(i,j) (P(i,j)+(n-1)*(m原创 2017-06-23 19:40:09 · 401 阅读 · 0 评论 -
UVa 1001 Say Cheese - 最短路
传送门题目大意:三维坐标系中有若干球,在球中可以瞬移;求一个点到另一个点的最短路。题解:首先证明,如果将起点和终点看成是半径为0的球,那么最短路径一定是连心线拼起来的。所以跑一个dijkstra即可。读入优化忘了负数这个东西了。//UVa 1001#include#include#include#include#include#define MAXN 110#defi原创 2017-06-18 11:57:48 · 481 阅读 · 0 评论 -
[AHOI2006] BZOJ1266 上学路线route-图论-最短路树-最小割
题目链接:传送门题目大意:自行参考题解:首先,观察得知肯定要先求一个最短路(这不是废话么)然后可以求出最短路网(就是在s到某个点x的某一条最短路上的边的集合)其中最短路网上的边(u,v,w)满足dist[u]+w=dist[v]。然后,如果你割掉的不是最短路网上的边,那么显然无论割多少都不会影响答案(因为你总是只沿着最短路网上的边走),所以只考虑这些边。如果你割了一些最短路原创 2017-05-13 10:34:49 · 633 阅读 · 0 评论 -
家访 - 最短路 - 启发式合并 - 可并堆
题目大意:给一张图,但是有条边不能通过,但是只有到达那条边的端点之后才能知道这条边不能通过。求最坏情况下的最短路。题解:显然先求一个最短路树(到T的),那么只可能删树上的边(否则没有意义)。因此设ans[s]表示答案,不难发现ans[x]=max(min(ans[y]+w(x,y)),g[x])ans[x]=max(min(ans[y]+w(x,y)),g[x])ans[x]=max(min...原创 2019-04-01 19:33:44 · 290 阅读 · 0 评论