
最短路
fyc_kabuto
一个蒟蒻程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
bzoj 3931: [CQOI2015]网络吞吐量
这题考语文2333 其实是源点到汇点的流量一定要延最短路,可以有多条,求最大流。 要开long long。 code: #include #include #include #include using namespace std; struct trnode{ int lc,rc,c; bool l,r; trnode(){l=r=false;c=0;} }tr[4000010];原创 2017-07-19 13:14:03 · 333 阅读 · 1 评论 -
bzoj 4152: [AMPPZ2014]The Captain
题目是一道比较奇怪的最短路。 首先不难想到,这有和一个点相邻的点才有价值(两点间的矩阵没有别的点)。 否则,如果a,b间存在c,那a->c->b的代价一定小于等于a->b的代价。 然后本蒟蒻就不会了。 其实相邻也可以理解为按x坐标排序后相邻的点与按y坐标排序后相邻的点。 这样建出来的边或许比上一种方法建出来的要少。但举几个例子,发现一定有代替的边(感性的理解2333) 于是就可以跑最短原创 2017-07-17 14:56:41 · 390 阅读 · 0 评论 -
bzoj 5056: OI游戏
题意:求最小路径树计数。题解:有一次感觉自己宛如智障。 首先看错题,想错题一小时…… 然后发现看错了,结果重看又看错了,想错题半小时…… rp–,智商–。 其实直接spfa,求出每个点的最短路径上的边数目乘起来就可以了。 code:#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include原创 2017-09-25 12:00:06 · 403 阅读 · 0 评论 -
bzoj 2662: [BeiJing wc2012]冻结
题意:能开挂的最短路。题解:随便spfa保存下冻结了多少次就可以了。 code:#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<queue> #include<algorithm> using namespace std; struct edge{ int y,c,next;原创 2017-09-26 21:43:01 · 285 阅读 · 0 评论 -
bzoj 4144: [AMPPZ2014]Petrol
题意: 给定一个n个点、m条边的带权无向图,其中有s个点是加油站。 每辆车都有一个油量上限b,即每次行走距离不能超过b,但在加油站可以补满。 q次询问,每次给出x,y,b,表示出发点是x,终点是y,油量上限为b,且保证x点和y点都是加油站,请回答能否从x走到y。 题解: 关键是要求出加油站之间的最小生成树,然后倍增求最大值。 用类似bzoj 4242的方法即可。 各种sb错误调了...原创 2018-03-08 09:54:31 · 389 阅读 · 0 评论 -
4289: PA2012 Tax
题意: 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价。起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权。 题解: 拆点,每个点对应相应边权(这个权值只能连向它),差分(大的向小的边权为0),然后跑dij。 code: #include<map> #include<queue> #includ...原创 2018-12-31 16:27:15 · 254 阅读 · 0 评论