![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
【NOIP2013提高组day2】华容道
Description给出一张n*m的棋盘,有一些点上有障碍物,其他点上都是棋子。给出q次询问,每次询问给出一个空格,一个目标棋子,一个目标位置,每一步可以把一个棋子移进空格,求把目标棋子移动到目标位置的最小步数。 n,m<=30,q<=500Solution第一眼看到就知道是大暴力题,发现询问次数少的时候一次bfs就解决了,那么询问多起来呢? 预处理! 如何预处理? 我们先不想这个问题,想原创 2016-03-28 19:12:53 · 918 阅读 · 0 评论 -
[bzoj4356][ceoi2014] wall
Description题意太复杂了不想讲 给你一个n*m的网格图,有一些点是关键点,点(1,1)一定为关键点 每条边有边权 问用一个可以自交的环包住所有关键点的最小边权和 n,m<=400Solution可以发现对于每一个关键点,我们跑出从(1,1)到它左上角的最短路,可以证明最短路一定被包含在最优解中 那么我们把每一个端点拆成上下左右4个点,跨过最短路的不连边,把每个关键点四周的逆时针走原创 2017-11-04 22:23:52 · 695 阅读 · 0 评论 -
[51nod1326]遥远的旅途
Description一张有n个点,m条变的无向图,每条边有边权。 在0时刻有一个人在点1,每一次他走过一条边,消耗的时间为这条边的边权,而不能停留在原地。 现在他想知道是否存在一种方案使得他在T时刻刚好到达点n。 多组数据,case<=3,2<=N<=50,1<=M<=50,1<=T<=10^18Solution上上周做GDOI组时WorldWide_D说这道题是T2原题,于是就被强行安利来原创 2016-12-19 19:36:52 · 878 阅读 · 0 评论 -
【NOI2014】魔法森林
Description原创 2016-09-05 20:18:35 · 694 阅读 · 0 评论 -
现世斩
Description给出一个n个点,m条边的无向图。你可以选择一个点x,把x相连得边边权变为1.求1~n的最短路。 n<=10^5,m<=n*5Solution辣鸡出题人,卡我空间。 很多神奇的做法,你可以直接分层,然后一边最短路。 或者两边最短路,然后枚举修改的点。 随便乱搞一下就好啦!!Code#include<cstdio>#include<cstring>#include<al原创 2016-07-09 16:57:38 · 619 阅读 · 0 评论 -
【NOIP2013模拟】DY引擎
Description给出一张无向图,问从1到n的最短路。 你可以瞬移k次,每次从u瞬移到v的条件是:u到v中存在一条不经过收费站的距离<=L的路径。当然,u或v可以是收费站。 收费站不会直接告诉你。而是给出p个提示,每个提示[x,y,z]表示编号在[x,y]这个区间中的点至少有z个收费站。 总共有m个收费站,保证唯一解。 mSolution首先解决收费站的问题。 把所有提示查分,那么就变原创 2016-06-15 21:49:01 · 1187 阅读 · 0 评论 -
【GDOI2014模拟】旅行(水法)
Description给出一张n个点,m条边的图,你可以选择一些边,使得1和n,2和n-1,3和n-2…k和n-k+1联通。代价为这些边的边权和。 求最小代价。 n<=10000,m<=12000,k<=4Solution这是一种神奇的方法。 求打脸/证明 如果只有一对点,那么答案就是他们的最短路。 如果多了一对点呢? 先选择一对跑最短路,然后把经过的边的边权变成0,然后再跑一边。 依原创 2016-05-21 13:24:46 · 1126 阅读 · 2 评论 -
GDOI 2016 Day2 T1 SigemaGO
Description给出一张n个点,m条边的有向图。若A->B有一条边,B->C有一条边,则可以使用L的时间直接从A到C。总共只可以走lim次这样的近路。求1到n的最短路。若无解,输出-1。 n<=10000,m<=50000,lim<=5Solution加了一点点东西的最短路。 迪杰斯特拉有点麻烦,就直接打玄学算法sp(b)fa。 多开一维j,维护1到当前这个点走了j次近路的最短路。 出原创 2016-05-19 18:51:05 · 889 阅读 · 0 评论 -
【NOIP2015模拟11.3】IOIOI卡片占卜
Description就像你看到的题目一样,现在有A个I,接着B个O,再接着C个I,再接着D个O,再接着E个I,排成一排。你现在有N种操作,第i种操作吧从第li个字符到第ri个字符这个区间内的字符,I变成O,O变成I,时间为ri-li+1。求把所有字符都变成I的最小时间。若无解输出-1。 A,B,C,D,E,N<=10^5Solution神奇的一道题。 先%%出题人,这种思路谁想得到嘛~ Ja原创 2016-04-18 19:17:52 · 905 阅读 · 0 评论 -
【GDOI2016模拟4.23】飞机调度
Descriptoin给出n个机场和m个航班,第i个航班需要在di这个时间点从机场xi飞到yi。 从x飞到y的时间为T[x,y],T[x,y]不一定等于T[y,x]。 在第i个机场降落的飞机都需要准备pi的时间才能再次起飞。 时刻0你可以在任意机场安排任意架准备好的飞机。 问最少需要准备多少架飞机。 n,m<=500Solution刚看到这一题,首先想到先用Floyd求出到每个机场的最短路原创 2016-04-26 19:08:46 · 768 阅读 · 0 评论 -
[CF827F]Dirty Arkady's Kitchen
Description给出一张n个点m条边的无向图,每条边有存在时间区间[li,ri],一开始一只Akagi在1号点,每个时刻她都必须要从某个点走到另一个点,每一条边所花费的时间为1,求Akagi走到点n的最小时间。 n,m<=5*1e5Solution听说篡改题面可以出赤城 这道题看上去没有什么下手的地方,我们挖掘一下性质。 考虑暴力,vis[i][j]表示能否在j时刻到达点i。 可以发现原创 2018-03-13 16:38:20 · 853 阅读 · 0 评论