最短路问题有3种常用方法: Floyd,Dijkstra,SPFA 以下为总结代码(参考) Floyd 可求图中任意两点间的最短路 时间复杂度上有很大不足 O(N^3) 代码难度简单 #include<bits/stdc++.h> typedef long long ll; using namesp ...
分类:
其他好文 时间:
2019-11-10 13:48:33
阅读次数:
98
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define INF 0x3f3f3f3f 5 int map[1000][1000],visited[1000]; 6 int n,m; 7 int flag; ...
分类:
其他好文 时间:
2019-11-09 23:26:29
阅读次数:
115
无序对:对于二元集合{a,b},由于元素之间没有次序,称{a,b}为无序对,记为(a,b)。 有序对:由两个元素x和y(允许x=y)按一定顺序排列成的二元组叫做一个有序对,记作<x,y>,其中x是它的第一元素,y是它的第二元素。 无序积:设A,B为集合,则称{(a,b)| a∈A∧b∈B}为A与B的 ...
分类:
其他好文 时间:
2019-11-09 21:52:01
阅读次数:
67
在博大精深的图论算法中有这样一个神奇的存在! 当我们求最短路时,往往会发现有边权为负的情况存在,这时候我们的dijksra便不能很好的胜任他的职务了。 那么伟大的spfa算法就出现了(至于同学们在刚接触这个算法的时候,一定会听到:关于SPFA,他死了,这是因为dfs优化下的spfa时间复杂度极优,亲 ...
分类:
其他好文 时间:
2019-11-09 09:45:42
阅读次数:
83
E. Connected Components? You are given an undirected graph consisting of n vertices and edges. Instead of giving you the edges that exist in the graph ...
分类:
其他好文 时间:
2019-11-07 19:37:43
阅读次数:
118
A.困难的图论 题目链接 题意: 给出由$n$个点和$m$条边构成的无向连通图,要求选出一些边。一条边被选中当且仅当它恰好被一个简单环经过。 一个环被称为简单环,当且仅当这个环上的所有点都只在这个环中被经过了一次。 输出这些边的编号的异或和。边从$1$开始编号。 $1\le n\le 10^6,\; ...
分类:
其他好文 时间:
2019-11-06 22:33:35
阅读次数:
96
Description "[HDU1599]find the mincost route" Solution 恶补图论,最小环问题的板子题 $floyd$来判最小环,复杂度$O(n^3)$ 枚举$k$从$1$到$n$ 最小环的$i$从$1$到$k 1$,$j$从$1$到$i 1$ 令$ans=min ...
分类:
其他好文 时间:
2019-11-06 21:16:51
阅读次数:
125
考试过程 T1题意真的很恶心人,看了好久的题意, 看到环,惯性思维想着拆成2n,然后比较显然的单调栈,感觉自己一直在强制往上套, 接着发现用单调递减的栈维护,若两个点之间的点都小于等于这个点,那就算一个贡献 然后就想着2n的瞎特判,写了1h30min多,只好放弃 很不爽的来到T2,一看模拟只有20分 ...
分类:
其他好文 时间:
2019-11-06 13:17:06
阅读次数:
93
图论: 一.最短路: 1.spfa算法中的vis数组记录的是有没有入队,防止多次入队,通过松弛操作来达到最优解 2.dijkstra算法的vis是记录是否出队,也就是说根据贪心的过程,我们在优先队列里可能会多次放一个点 但是我们只需要用距离最小的点来更新,其他入队的相同点不能更新来保证时间复杂度 3 ...
分类:
其他好文 时间:
2019-11-05 16:53:49
阅读次数:
70
[算法模版]Tarjan爷爷的两种图论算法 前言 Tarjan爷爷发明了很多图论算法,这些图论算法有很多相似之处(其中一个就是我都不会)。这里会对这三种算法进行简单介绍。 定义 强连通(strongly connected) : 在一个有向图$G$里,设两个点$ a, b $发现,由$a$有一条路可 ...
分类:
编程语言 时间:
2019-11-04 15:35:03
阅读次数:
74