最短路
SC.ldxcaicai
我很菜=_=
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2018.06.29 NOIP模拟 Minimum(最小生成树)
Minimum 题目背景 SOURCE:NOIP2015-SHY-2 题目描述 给出一幅由 n 个点 m 条边构成的无向带权图。 其中有些点是黑点,另外点是白点。 现在每个白点都要与他距离最近的所有黑点通过最短路连接(如果有很多个,可以选取其中任意一个),我们想要使得花费的代价最小。请问这个最小代价是多少? 注意:最后选出的边保证每个白点到黑点的距离任然是最短距离。 输入格式 第...原创 2018-10-11 23:06:36 · 298 阅读 · 0 评论 -
2018.11.01 洛谷P3953 逛公园(最短路+dp)
传送门 设f[i][j]f[i][j]f[i][j]表示跟最短路差值为iii当前在点jjj的方案数。 in[i][j]in[i][j]in[i][j]表示在被选择的集合当中。 大力记忆化搜索就行了。 代码: #include<bits/stdc++.h> using namespace std; inline int read(){ int ans=0; char ch=getch...原创 2018-11-01 23:03:57 · 201 阅读 · 0 评论 -
2018.11.06 bzoj1097: [POI2007]旅游景点atr(最短路+状压dp)
传送门 预处理出不能在每个点停留之后才停留的点的状态。 对kkk个点都跑一次最短路存下来之后只需要简单状压一下就能过了吐槽原题空间64MB蒟蒻无能为力 然后用fillfillfill赋极大值的时候当memsetmemsetmemset用赋成了很小的值导致挑了一个晚上都不知道哪里错了。 于是f[i][j]f[i][j]f[i][j]表示现在停留在iii这个点并且已经停留过的状态为jjj,随便转移一波...原创 2018-11-06 11:53:56 · 197 阅读 · 0 评论 -
2018.11.06 洛谷P1099 树网的核(最短路+枚举)
传送门 之前看李煜东的书一直感觉是道神题。 然后发现这题数据范围只有300?300?300? 直接上floydfloydfloyd然后暴力就完了啊。 代码: #include&amp;lt;bits/stdc++.h&amp;gt; using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!is...原创 2018-11-06 21:52:29 · 148 阅读 · 0 评论 -
2018.11.05 NOIP模拟 列队(差分约束)
传送门 直接建边跑差分约束就可以了。 代码原创 2018-11-05 19:52:54 · 240 阅读 · 0 评论 -
2018.11.05 NOIP模拟 规避(最短路计数)
传送门 正难则反。 考虑计算两人相遇的方案数。 先正反跑一遍最短路计数。 然后对于一条在最短路上的边(u,v)(u,v)(u,v),如果(dis(s,u)*2&lt;total&amp;&amp;dis(v,t)*2&lt;total)说明两人可以在这条边上面相遇。 如果对于一个点从起点到它的距离刚好是最短路的一半也可以在这个点相遇。 代码 ...原创 2018-11-05 19:58:28 · 173 阅读 · 0 评论 -
2018.11.05 bzoj2143: 飞飞侠(最短路)
传送门 最短路好题。 考虑对每个二维坐标建立一个高度属性。 这样每次如果在点(i,j,0)(i,j,0)(i,j,0)只能选择花费bi,jb_{i,j}bi,j跳向(i,j,ai,j)(i,j,a_{i,j})(i,j,ai,j),然后如果当前状态的高度不是000就可以花费000的代价选择让高度下降一个,同时向周围四格走一步或者原地不动。 然后跑三次最短路就可以了。 代码: #include...原创 2018-11-05 20:06:28 · 187 阅读 · 0 评论 -
SCU4444 Travel(最短路+bfs)
传送门 题意简述:给出一张nnn个点的完全图,有mmm条边边权为aaa其余点边权为bbb,问从111到nnn的最短路。 思路:分类讨论一波即可。 (1,n)(1,n)(1,n)的边权为aaa,那么只用求从111到nnn不经过给出边的最短路,这个用set+bfsset+bfsset+bfs解决。 (1,n)(1,n)(1,n)的边权为bbb,那么只用求从111到nnn经过给出边的最短路,上spf...原创 2019-01-22 18:59:44 · 331 阅读 · 0 评论 -
LOJ#3159. 「NOI2019」弹跳(四分树+dijkstra)
传送门 n2n^2n2暴力显然,考虑优化。 有一种想法是使用四分树/kd-tree/树套树,发现你并不能得到100pts100pts100pts的好成绩(空间会炸掉) 考试的时候比较智熄,先暴力四分树建边然后跑dijkstra,于是动态内存炸了。。。88pts88pts88pts滚粗。 那剩下那12pts12pts12pts如何拿呢? 我们考虑只用四分树加入点,这样的空间开销仅有O(nlogn)O...原创 2019-07-18 21:20:30 · 369 阅读 · 0 评论 -
2018.11.03 NOIP模拟 图(bfs/最短路)
传送门 显然如果AAA到BBB或者CCC到DDD走的不是最短路一定是有一段路径重合了,于是可以O(n2)bfsO(n^2)bfsO(n2)bfs出两点之间的最短距离然后枚举两个点作为重合的端点来更新答案。 然而考试的时候只枚举了最短路上的点没被卡成功踩标算? 如果数据强一点今天多半又垫底了233. 我果然还是太菜了啊! 代码 ...原创 2018-11-03 21:15:47 · 174 阅读 · 0 评论 -
2018.10.06 bzoj2259: [Oibh]新型计算机(最短路)
传送门 不得不说建图很巧妙。 首先题目给出的关系直接连边权为0的有向边,然后如果超出了n+1n+1n+1连边权等于超出花费的有向边。然后向两边走,如果能到就连一条为1的边。 大概就像这样: 注意别连重边。 代码: #include<bits/stdc++.h> #define N 2000005 using namespace std; inline int read(){ int...原创 2018-10-06 08:52:02 · 307 阅读 · 0 评论 -
2018.09.27 bzoj2118: 墨墨的等式(最短路+背包)
传送门 好题啊。 首先找到最小的一个非零系数记做a1a_1a1,然后如果WWW modmodmod a1=W′a_1=W&#x27;a1=W′ modmodmod a1a_1a1,且WWW是方程的一个可行解,那么显然W′W&#x27;W′也是一个可行解。 自然会想到我们用完全背包的思想对每一个余数求出要达到这个余数的最小可行解,这样整个范围中到达这个余数的可行解个数就可以统计...原创 2018-09-27 19:46:22 · 298 阅读 · 0 评论 -
2018.07.06 POJ1556 The Doors(最短路)
The Doors Time Limit: 1000MS Memory Limit: 10000K Description You are to find the length of the shortest path through a chamber containing obstructing walls. The chamber will always have sid...原创 2018-07-06 10:23:28 · 184 阅读 · 0 评论 -
2018.07.25 bzoj2125: 最短路(圆方树+倍增)
传送门 人生的第一道仙人掌。 这道题求是仙人掌上的最短路。 先建出圆方树,然后用倍增跑最短路,当lcalcalca是圆点和方点时分类讨论答案即可。 代码如下: #include&lt;bits/stdc++.h&gt; #define N 20005 using namespace std; inline int read(){ int ans=0; char ch=ge...原创 2018-07-25 21:44:45 · 199 阅读 · 0 评论 -
2018.07.20 bzoj1614: Telephone Lines架设电话线(二分+最短路)
传送门 这题直接做显然gggggg,看这数据范围也不可能是只跑一波最短路那么简单。 没错,这道题需要你跑很多次最短路。 没错,这是一道二分+最短路验证的题。 事实上,题目要求的东西已经提示了要使用二分。毕竟是求路径上第k+1k+1k+1大条边的权值的最小值。所以这东西怎么二分判定? 干脆二分答案吧,二分路径上第k+1k+1k+1大条边的权值的最小值是kkk,然后怎么判定? 等等,这样的...原创 2018-07-20 17:56:44 · 279 阅读 · 0 评论 -
2018.07.22 洛谷P3106 GPS的决斗Dueling GPS's(最短路)
传送门 图论模拟题。 这题直接写3个(可以压成一个)spfaspfaspfa,前两个把题上的p,qp,qp,q分别当做边权来跑,然后最后一次将前两次标记过两次的边边权设为0,标记过一次的边权设为1,没标记过的边权设为0就行了。 代码如下: #include&lt;bits/stdc++.h&gt; #define N 100005 #define M 500005 using namesp...原创 2018-07-22 15:00:50 · 205 阅读 · 0 评论 -
2018.08.17 洛谷P3110 [USACO14DEC]驮运(最短路)
传送门 一道sb最短路,从两个起点和终点跑一边最短路之后直接枚举两人的汇合点求最小值就行了。 代码: #include<bits/stdc++.h> #define N 40005 #define inf 0x3f3f3f3f using namespace std; struct Node{int v,next;}e[N<<1]; int first[N],cn...原创 2018-08-17 19:55:59 · 178 阅读 · 0 评论 -
2018.09.02 bzoj1003: [ZJOI2006]物流运输(dp+最短路转移)
传送门 dp好题。 每一天要变更路线一定还是走最短路。 所以l~r天不变更路线的最优方案就是把l~r天所有不能走的点都删掉再求最短路。显然是可以dp的。 设f[i]表示第i天的最优花销。那么我们枚举在哪里切换路线更优,则有状态转移方程: f[i]=min(f[j]+spfa(j,i)∗(i−j)+k)(j=1...i−1)f[i]=min(f[j]+spfa(j,i)∗(i−j)+k)(...原创 2018-09-02 15:13:08 · 153 阅读 · 0 评论 -
2018.09.19 atcoder Snuke's Subway Trip(最短路)
传送门 就是一个另类最短路啊。 利用颜色判断当前节点的最小花费的前驱边中有没有跟当前的边颜色相同的。 如果有这条边费用为0,否则费用为1. 这样跑出来就能ac了。 代码: #include<bits/stdc++.h> #define N 500005 #define M 500005 using namespace std; inline int read(){ int ans=0...原创 2018-09-19 12:17:35 · 383 阅读 · 0 评论 -
2018.09.15 vijos1053Easy sssp(最短路)
传送门 貌似可以最短路时同时判定负环啊。 但我不想这样做。 于是写了一个dfs版的判环,bfs版的求最短路。 代码: #include<iostream> #include<cctype> #include<cstdio> #include<cstring> #include<queue> #define N 1005 #d...原创 2018-09-15 14:10:33 · 231 阅读 · 0 评论 -
LOJ#3156. 「NOI2019」回家路线(前缀和优化建图+for循环+凸包)
传送门 来一发大常数做法(然而网络赛的时候凸包插点的方向写反了。。。40pts40pts40pts滚了什么我居然还有40) 对于一条边(u,v,p,q)(u,v,p,q)(u,v,p,q),我们把二元组(v,q)(v,q)(v,q)看成一个点。 这样下来一共有mmm个点。 假设每个点对应有len1ilen1_ilen1i个二元组(i,val1i,j)(i,val1_{i,j})(i,val1i,...原创 2019-07-17 19:14:13 · 347 阅读 · 0 评论
分享