图论
nagisa-kun
这个作者很懒,什么都没留下…
展开
-
kuangbin数学2 解题报告
这部分组合数学挺多的,记录下。LightOJ - 1005 Rooks多组样例:n*n的放个,要放k个棋子,棋子之间互不相同,要求不同行不同列,求方案数放一个棋子,相当于挑走一个行和一个列,所以考虑组合数。又由于棋子不互相同,所以乘上排列数AkkA^k_kAkk,就是答案。组合数可以用n^2递推。#include <bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int (i)=(a);(i)<=(b);++i原创 2020-12-27 22:58:44 · 196 阅读 · 0 评论 -
【图论】最小生成树算法:prim算法和kruskal算法
目录prim算法AC代码堆优化kruskal算法比较prim算法复杂度:o(n2)o(n^2)o(n2),n为节点数prim算法是一种基于贪心的算法,主要流程是:首先,将任意一点(习惯是1)加入树中,之后,选择和1相连的所有边,选择最短的路径,把该路径和点加入树中,接着继续扫描新加入的点,直到边数达到n-1,形成树为止。洛谷P3366 模板:最小生成树先贴下板子:ll prim(){/...原创 2020-05-04 23:45:36 · 389 阅读 · 0 评论 -
HDU - 2586 How far away ? 解题报告(tarjan模板)(lca)
目录题目描述思路分析完整代码题目描述https://vjudge.net/problem/HDU-2586比较容易看懂就不说了。思路分析tarjan第一题,没什么太多要分析的关注点有以下几个:1、计算方法是将这个无根树化成以节点1为根的有根树,然后dfs出每一个点距离到节点1的距离,然后由几何关系得出答案。2、我们会先将它的所有查询都存起来进行操作,具体看代码。3、在union操...原创 2020-03-29 17:53:21 · 202 阅读 · 0 评论 -
HDU - 1116 Play on Words 解题报告(有向图判断欧拉路)(dfs/并查集)
目录题目描述:思路分析完整代码DFS并查集题目描述:链接:https://vjudge.net/problem/HDU-1116大致意思就是给你几个单词,问是否全部首尾相连起来,很明显是一道欧拉路题。思路分析上面说到这道题是一道判断欧拉路,接着往下分析:由于每个单词具有方向性,因此这是一个有向图。那么,我们很容易就想到:把首字母和为字母作为节点,单词作为路径。接下来,就是将字母转化为数字...原创 2020-03-03 13:11:14 · 200 阅读 · 0 评论 -
HDU - 1878 欧拉回路 解题报告(无向图判断回路)(dfs/并查集)(模板)
目录题目描述思路分析完整代码dfs写法并查集题目描述题目:https://vjudge.net/problem/HDU-1878思路分析这道题没有什么太多要说的,直接看代码,然后我注上一些东西完整代码dfs写法#include <iostream> #include <cstring>using namespace std;const int maxn=...原创 2020-03-02 22:28:04 · 244 阅读 · 0 评论 -
hdu-1285 确定比赛名次解题报告(图论)(拓扑排序)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-1285#author=YaoBIG有翻译就不说了,但是这道题可能有个地方想不懂:样例里,4和1、2哪个高?其实理解起来就是:1打过了2,那么1就比2高,但是不确定4能不能打得过2,而4又打过了3,那么,4应该和2同一级,比1低1级。思路分析按照上面的理解,这道题也很明显肯得出来就是...原创 2020-02-07 18:21:41 · 228 阅读 · 0 评论