最短路
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj 2143 飞飞侠【最短路】
解题思路:这道题点很少,但是边可能很多,直接建图做最短路显然不可行。 但是如果把弹射看成获得了可以走a[i][j]的能量。 这样就可以直接最短路了。 每走一格可看作消耗1的能量,f[i][j][k]表示在i,j这个点且有k的能量的最少费用。 每次只要向四个方向走,或者原地不动即可。 做三次最短路即可。#include<iostream>#include<cstdio>#include<原创 2017-10-31 17:19:32 · 309 阅读 · 0 评论 -
NOIP模拟 路径统计 【弗洛伊德算法】
题目大意:一个n个点m条边的无重边无自环的无向图,点有点权,边有边权,定义一条路径的权值为路径经过的点权的最大值乘边权的最大值。 求任意两点间的权值最小的路径的权值。(1<=n<=500)解题思路:看到n<=500就想到了弗洛伊德算法,但怎么处理呢? 普通的弗洛伊德算法是按点的标号顺序枚举k的,这里我们可以按点权从小到大的顺序枚举k,那么计算时任意两点间的最大点值只能是i,j,k中的一个,现在就原创 2017-11-10 07:49:41 · 378 阅读 · 0 评论 -
洛谷1613 跑路【倍增+floyd】
题目描述:小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一原创 2017-11-01 16:25:35 · 267 阅读 · 0 评论 -
NOIP模拟 做运动【并查集+最短路】
题目大意:给定无向图G,求在经过最大边最小的情况下S到T的最短路。 2≤\len≤\le500000,1≤\lem≤\le1000000;解题思路:考试时以为最大的最小就是二分套最短路,事实证明nlog2nnlog^2n的复杂度要跑四五秒,gg了。结果要求的最大边就是把所有边排序后从小到大取,使S、T联通的那一条边,接着在所有长度小于等于它的子图上跑最短路就行了。这样就是nlogn的了。#incl原创 2017-10-26 18:51:15 · 324 阅读 · 0 评论 -
bzoj2118 墨墨的等式【最短路+背包问题】
解题思路:相当于无限背包求可行方案数。取任意一个a[i],设为p;那么考虑令d[i]表示当物体的总重%p=i时,物体最少的重量。设d[i]=t,那么显然对于所有的x,如果x%p=i且x>=t,都可以用总重最少的那个方案再加上若干个p得到。同时,考虑加入一个物体u,那么显然有d[(i+u)%p]可以由d[i]+u得到,这相当于从i向(i+u)%p连一条长度为u的边,那么d[i]求最小值不就是求最短路吗原创 2017-12-30 17:15:41 · 554 阅读 · 0 评论 -
bzoj3597: [Scoi2014]方伯伯运椰子【分数规划+费用流】
Description四川的方伯伯为了致富,决定引进海南的椰子树。 方伯伯的椰子园十分现代化,椰子园中有一套独特的交通系统。现在用点来表示交通节点,边来表示道路。这样,方伯伯的椰子园就可以看作一个有 n+2 个交通节点,m 条边的有向无环国。n+1 号点为入口,n+2号点为出口。每条道路都有 6 个参数:ui ,vi ,ai ,bi ,ci ,di ,分别表示,该道路从 ui 号点通向原创 2018-02-03 20:23:49 · 431 阅读 · 0 评论 -
bzoj3694: 最短路【树链剖分+线段树&&最短路】
Description给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1。定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树。 给出最短路树,求对于除了源点1外的每个点i,求最短路,要求不经过给出的最短路树上的1到i的路径的最后一条边。Input第一行包含两个数n和m,表示图中有n个点和m条边。 ...原创 2018-03-04 18:38:39 · 341 阅读 · 0 评论 -
BJ模拟 Problem B: Team Rocket Rises Again【最短路+支配树】
题目描述:给一张n个点,m条边,有源点S的无向图,求对于每个点,有多少个点的最短路必经过它。n<=100000,m<=300000解题思路:先跑一边最短路建出最短路DAG,然后就是求每个点的必经点,直接上支配树即可。#include<iostream>#include<algorithm>#include<vector>#inc...原创 2018-05-06 21:29:31 · 147 阅读 · 0 评论 -
bzoj4609: [Wf2016]Branch Assignment
Description要完成一个由s个子项目组成的项目,给b(b&gt;=s)个部门分配,从而把b个部门分成s个组。分组完成后,每一组的任意两个点之间都要传递信息。假设在(i,j)两个点间传送信息,要先把信息加密,然后快递员从i出发到总部,再加密,在到j点。出于安全原因,每次只能携带一条消息。现在给出了道路网络、各个部门和总部的位置,请输出快递员要走的最小总距离。Input第一行包含四...原创 2018-05-15 19:53:24 · 485 阅读 · 0 评论