
最短路
flaaaaaaame
Hope is floating on the breeze.
展开
-
BZOJ 1001 [BeiJing2006]狼抓兔子
题目描述 传送门 现在小朋友们最喜欢的”喜羊羊与灰太狼”,话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路 1:(x,y)<==>(x+1,y) 2:(x,y)<==>(x,y+1) 3:(x,y)<==>原创 2017-08-12 08:44:22 · 279 阅读 · 0 评论 -
UVa10537 Toll! Revisited
题目描述 传送门考虑到反向做Dijkstra,终点的dd值为pp,反向Dijkstra时对于当前的(u,v)∈E(u,v)\in E 可以推出如果vv是村庄,边权为11;如果是城镇,边权为⌈d(u)/19⌉\lceil d(u)/19 \rceil。为了方便,加了个虚拟终点00。代码#include<cstdio>#include<iostream>#include<cstring>#incl原创 2017-10-19 19:14:33 · 309 阅读 · 0 评论 -
UVa4080 Warfare And Logistics
题目描述 传送门尝试删mm条边重新计算nn个点的最短路时间复杂度O(nm2logn)O(nm^2logn) 但对于点ii只有删除了以ii为源点的最短路树上的边才需要重新计算。 预处理好每个点的最短路树,这样最多计算O(n2)O(n^2)次单源最短路,时间复杂度降为O(n2mlogn)O(n^2mlogn)代码#include<cstdio>#include<iostream>#include原创 2017-10-19 19:26:10 · 255 阅读 · 0 评论 -
UVa10917 Walk Through the Forest
题目描述 传送门根据题目意思建立DAG,再统计路径条数。代码#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>using namespace std;const int maxn=1005,maxm=(maxn-1)*(maxn-2);const int INF=1e原创 2017-10-19 19:36:24 · 338 阅读 · 0 评论 -
UVa11374 Airport Express
题目描述 传送门正反向Dijkstra,枚举商业线。 坑点:最后输出路径,格式。代码#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>using namespace std;const int maxn=1005,maxm=(maxn-1)*(maxn-2);con原创 2017-10-19 19:33:35 · 283 阅读 · 0 评论