(………………)#include<bits/stdc++.h> const int maxn=10000015; using namespace std; int n,m,s; int dis[maxn]; //链式前向星 const int N=10005,M=5000005; int e,fir... ...
分类:
其他好文 时间:
2019-08-24 09:52:21
阅读次数:
64
一种最短路求法(个人觉得比DIJKSTRA好用) 用于有向图。 大概思路:从根节点开始,枚举每一个点,同时更新他们所联通的点的最短路径,如果路径被更新,则把这个点入队,一直重复这个操作直到队伍为空为止。 代码: 但是这种做法容易被卡掉(神奇奶牛),所以可以采用SLF优化。 SLF优化:每一次都把即将 ...
分类:
其他好文 时间:
2019-08-22 01:06:03
阅读次数:
71
求1 n最长边最小的路径。 最短路变形。dis值向后延申的方式是:$$dis[j]=min(dis[j],max(dis[i],w(i,j))$$ 显然满足dijkstra贪心的选择方式。spfa也当然可以用。 写上三种方式,就当是模板好了。 spfa 复杂度:$O(kE)/O(VE)$ spfa的 ...
分类:
其他好文 时间:
2019-08-19 19:26:08
阅读次数:
91
AcWing 道路与航线 Description Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查。他想把牛奶送到T个城镇 (1 Sample Output 题解: 最短路。 有负边权,spfa呗。但是最坏会被卡成O(nm),对于这题明显不行。所以思考用别的方法。 这题很特别,给 ...
题意:我们的城市有几个货币兑换点。让我们假设每一个点都只能兑换专门的两种货币。可以有几个点,专门从事相同货币兑换。每个点都有自己的汇率,外汇汇率的A到B是B的数量你1A。同时各交换点有一些佣金,你要为你的交换操作的总和。在来源货币中总是收取佣金。 例如,如果你想换100美元到俄罗斯卢布兑换点,那里的 ...
分类:
其他好文 时间:
2019-08-16 15:48:25
阅读次数:
112
dij struct edge{ int to,cap,cost,rev; }; int n,V,k; int a[MAX_N]; vector<edge> G[2*MAX_N+2]; int h[2*MAX_N+2]; int dist[2*MAX_N+2]; int prevv[2*MAX_N+ ...
分类:
其他好文 时间:
2019-08-11 20:49:38
阅读次数:
84
题目链接 题目含义 有一个有向图,每个点都有点权,每条边也都有边权 然后有头牛要从任一点出发,经过至少两个点后回到原点,即走一个环 问经过的sigma点权/sigma边权最大是多少 题目分析 最开始没想出来,看了网上说用SPFA判负环也有点不明白 因为不是说每个点的点权只得到一次吗,SPFA是怎么处 ...
分类:
其他好文 时间:
2019-08-10 21:15:48
阅读次数:
88
#zkw费用流# 参考网址: https://artofproblemsolving.com/community/c1368h1020435 zkw大佬的改进:①在dfs的时候可以实现多路增广②KM算法节省SPFA时间(然而我这里没有KM,要问为什么,当然是因为我不会了orz); but,参考了另外 ...
分类:
其他好文 时间:
2019-08-09 17:29:54
阅读次数:
83
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 82186 Accepted Submission(s): 31619 Problem ...
分类:
其他好文 时间:
2019-08-08 23:34:15
阅读次数:
90