...好尴尬啊 我一直以为堆优化是nlogm的,,,甚至还狠狠嘲讽过哪些认为是mlogm的。 上次在cf上被卡了之后才知道自己的dijkstra一直是是写错的。 这次补上正确的模板。。。。 然后又了解到了set优化dijkstra,是nlogn的,很优秀。 1 #include<bits/stdc+ ...
分类:
其他好文 时间:
2018-03-01 21:50:33
阅读次数:
153
1 struct node 2 { 3 int id,dis; 4 bool operator < (const node &rhs) const 5 { 6 return dis>rhs.dis; 7 } 8 } ; 9 priority_queue<node>q; 10 void dijkstr ...
分类:
其他好文 时间:
2018-02-26 23:10:30
阅读次数:
165
Prim的算法的具体思路是从某个点开始用贪心的策略向外扩展,找到离当前生成树最近的节点加入树中,并用该节点更新生成树到其他节点的距离。显然复杂度O(n^2),而且有一个二倍的常数(一共扩展n次,每次找最近的点是O(n)的,用该点更新其它点在稠密图时也是O(n)的)。 然后某些大佬就想到可以用堆维护当 ...
分类:
其他好文 时间:
2018-02-21 19:20:30
阅读次数:
194
题意 给定一张无向图,对每个点$i\in S$求$\min_{j\in S} {2\times d(i,j)+a_j}$ 考虑多源多汇最短路会超时,换个角度考虑每个$j$,如果$j=i$,那么答案为$a_i$,如果有更优的方案,那么为$i$到$j$的一条路径加上$a_j$,将这个过程看成两条路径,并 ...
分类:
其他好文 时间:
2018-02-20 17:30:24
阅读次数:
161
题目链接 我也不知道为什么脑子一抽就想了个堆优化……然后贼慢…… 因为上午听不懂wys的电音专场(快速傅立叶变换),然后就做了这么一道题。 首先朴素DP很sb都能秒出。就是枚举时刻、位置(两维)然后转移。 观察发现这是O(TNM)的,可以通过50%的数据。 然后……(喂题目提示得太明显了吧)发现时间 ...
分类:
其他好文 时间:
2018-02-06 14:19:57
阅读次数:
145
B20J_2007_[Noi2010]海拔_平面图最小割转对偶图+堆优化Dij Description:城市被东西向和南北向的主干道划分为n×n个区域。城市中包括(n+1)×(n+1)个交叉路口和2n×(n+1)条双向道路,已知每天每条道路两个方向的人流量,即沿着该方向通过这条道路的人数。每一个交叉 ...
分类:
其他好文 时间:
2018-02-04 12:45:18
阅读次数:
170
TSP——模拟退火解法 都知道TSP是经典的NP问题,从一个点开始遍历所有点,不重复,求最短路径。 可以用枚举终点,跑流量为2的最小费用,图论来做,时间复杂度为 ? 费用流已经用到堆优化了。显然点,边较多将无法承受。 如果不要求精确解,使用模拟退火也是一个不错的选择。模型简单,转移很暴力。 先随机生 ...
分类:
其他好文 时间:
2018-01-31 22:18:33
阅读次数:
224
[POI2007]ATR Tourist Attractions 题目链接(https://www.luogu.org/problemnew/show/P3451) 这种稠密图还是建议你不要跑spfa,你跑dijkstra堆优化会快很多 要看原图 "戳我" (左下角被洛谷图标遮住了) 题意 题目给你 ...
分类:
其他好文 时间:
2018-01-12 11:36:33
阅读次数:
174
stoer-Wagner算法 进行n轮操作,每轮操作确定一对点s,t被割开情况下的最小割,然后将s,t合并。s,t为操作中最后剩下的两个点。 操作类似prim求最大生成树,每次将与当前集合相邻的距离最大的点合并到集合中,最后剩下s,t两点。 代码来自wiki,可以堆优化 ...
分类:
其他好文 时间:
2017-12-19 21:08:13
阅读次数:
272
题目描述 平面上有n个点(n include include include include using namespace std; struct Edge{ int too, nxt; double val; }edge[10005]; int n, m, uu, vv, s, t, k, d[ ...
分类:
其他好文 时间:
2017-12-01 23:30:25
阅读次数:
260