
最短路
文章平均质量分 73
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ4144 [AMPPZ2014]Petrol
做多源最短路,跑每个点到哪个加油站最近,记录每个点是哪个点来的,如果两个点之间有边并且两个点不是从一个点来的,那么两个加油站连一条边,然后跑最小生成树,在树上倍增即可注意判不联通#include#include#include#include#include#include#include#include#include#include#include#include原创 2016-06-20 16:37:35 · 719 阅读 · 0 评论 -
BZOJ4456 [Zjoi2016]旅行者
好神的分治做法我们把矩形顺着比较短的一边从中间切成两半,从这条中线上每个点做一次到这个矩形内每个点的dijkstra,把两个端点都在这个矩形里的询问用中线上每个点到两个端点的最短路更新,然后分治两半边复杂度分析:瞎YY一下我们知道这个算法每次更新答案要做比较小的一边的边长次dijkstra,所以当是一个正方形的时候分治的复杂度最高,而询问一定是传到底的时候复杂度最高因为每次切一半两边都原创 2016-06-22 14:21:02 · 2825 阅读 · 0 评论 -
BZOJ1597 [Usaco2009 Feb]Revamping Trails 道路升级
分层图分K层,层之间是升级道路,跑最短路就行了据说卡spfa原创 2016-08-16 15:01:37 · 1055 阅读 · 0 评论 -
BZOJ3417 Poi2013 Tales of seafaring
我们可以在两个点之间来回反复,所以问题就变成了判断两点之间道路条数为奇数或偶数的最短路是否小于等于d分成图,边都跨层连,即可算出奇数最短路和偶数最短路注意特判孤立点询问自己的情况#include#include#include#include#include#include#include#include#include#include#include#inclu原创 2016-09-22 14:19:47 · 764 阅读 · 0 评论 -
BZOJ2725 [Violet 6]故乡的梦
想日这道题都得有一年了……今天发现yh都把这题日了,我才终于来日他这题题解网上都烂大街了,我也懒得写……不过这题其实不需要线段树的先任意搞一条S到T的最短路,然后对于不在最短路上的一条边,x->y,假设我们要强制经过这条边的话,最优情况一定是S走最短路到x,再x->y,再y走最短路到T那么S走最短路到x一定是先走一段S到T的最短路,然后离开最短路,y走到T一定是先走一段别的路,然后进入原创 2016-12-21 15:34:43 · 1619 阅读 · 0 评论 -
BZOJ2612 [Poi2003]Sums
任取一个物品,假设其体积为V,那么我们可以在模V的意义下做背包,f[i]表示对于模V得i的物品,当体积>=f[i]时能被表示出来那么就可以跑最短路了不妨取体积最小那个,dijkstra的话理论复杂度是(5000*50000)logn,但是跑的飞起事实上我们可以取最大那个,然后令f[i]表示表示对于模V得i的物品,当体积>=f[i]*V时能被表示出来这样的话边权都为0或者1,那么我们原创 2017-04-01 15:55:23 · 687 阅读 · 0 评论