学习了迪杰斯特拉. 类似贪心. 也有点像弗洛伊德. 上代码. 这种是规定了起始节点为1的. 其实迪杰斯特拉还可以是有起点的, 自己可以定起点, 下面就是, 这就是单元最短路, ...
分类:
其他好文 时间:
2018-10-12 01:17:23
阅读次数:
173
题意:给你点、边,求起点到终点的最短距离。 题解:由于题目的数据量特别大,所以需要用邻接表来存边,之后对Dijkstra算法稍微魔改一下就可以了,本来以为会超时,做好了打堆优化的准备,结果卡时间过了,可以说很开心了. 注意SPFA会超时。 include include include includ ...
分类:
其他好文 时间:
2018-10-09 00:36:56
阅读次数:
201
#include #include #include #include #include #include #include int s,t; int n,m; using namespace std; const int INF=99999999; struct Node{ int to; int... ...
分类:
编程语言 时间:
2018-10-08 23:18:40
阅读次数:
433
写在前面:今天突然发现还没有写过最小生成树的博客,然后调堆优化prim板子好久才调出来……赶紧写篇博客来保命。 一、最小生成树概念: 在一个n个点的有向图中,选取n-1条边使所有顶点两两联通,那么这个边集叫做这个图的一个生成树 在所有的生成树中,边权和最小的那一个叫做图的最小生成树。 二、Krusk ...
分类:
其他好文 时间:
2018-10-07 12:07:24
阅读次数:
169
图论 图的存储 邻接矩阵 O(1) 查找 是否存在,大小边表 1.最短路floyd:dijkstra:O(n^2+m)->(堆优化)->STL O((n+m)logm) 一个点加多次 ->手写堆 O((n+m)logn) 避免重复加元素,支持直接改元素图中没有负边 dis>=0spfa:最坏 O(n ...
分类:
其他好文 时间:
2018-10-04 18:55:24
阅读次数:
182
链式前向星 在做图论题的时候,偶然碰到了一个数据量很大的题目,用vector的邻接表直接超时,上网查了一下发现这道题数据很大,vector可定会超的,不会指针链表的我找到了链式前向星这个好东西,接下来就由一道裸模板题看看链式前向星怎么写,他的优势又在哪里! 题目链接: "POJ 2387" Desc ...
分类:
其他好文 时间:
2018-10-04 18:22:54
阅读次数:
178
题目大意: n件衣服,每件衣服有初始湿度,正常情况下每件衣服在一个单位时间湿度减a,奶牛有吹风机,单位时间可以使一件衣服多减b,问最快多久能晾干全部。(1 ≤ 湿度,a,b ≤ 500000 ,1 ≤n≤ 500000) 思路: 每个单位时间挑最湿的吹,用堆优化一下。一个记录时间的变量i,每次堆顶元 ...
分类:
其他好文 时间:
2018-10-04 09:32:56
阅读次数:
153
dijkstra大神发明的算法 朴素的dijkstra算法时间复杂度为O(n n),只能处理包含正权边的图。 使用优先级队列或堆优化过的dijkstra算法时间复杂度为O(N log(N)) 下面是优先级队列优化的dijkstra代码源码 / input:点数 N,边数 M,起点S,终点T,以及M组 ...
分类:
编程语言 时间:
2018-10-03 23:58:04
阅读次数:
240
暴力水过系列数据范围这么小,就打暴力吧枚举最大公共子矩阵的边长O(n)枚举两个最大公共子矩阵的左上角O(n^4)判断是否相同O(n^2)总复杂度O(n^7),显然过不了过不了怎么办,删冗余枚举啊一堆优化:1,倒序枚举边长,一旦满足,即为答案2,判断是否相同,一旦不同,跳出去然后就过了 ...
分类:
Web程序 时间:
2018-10-02 20:27:49
阅读次数:
217