![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
nacrt
这个作者很懒,什么都没留下…
展开
-
NYOJ 1238 最少换乘
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=1238 最少换乘 时间限制:2000 ms | 内存限制:65535 KB 难度:3 描述 欧洲某城是一个著名的旅游胜地,每年都有成千上万的人前来观光旅行。Dr. Kong决定利用暑假好好游览一番。。 年轻人旅游不怕辛苦,不怕劳累,原创 2017-03-11 18:53:29 · 1193 阅读 · 0 评论 -
poj2513 Colored Sticks / nyoj230 彩色棒(字典树,并查集,欧拉通路)
原题链接:Colored Sticks 题意:给一些木棒,木棒两端图上颜色,将端点颜色相同的木棒连在一起,问是否能连成一条直线。 思路:能构成欧拉通路的话就是题解,判断欧拉欧拉通路:1.是连通图 2.有两个奇数度顶点,其余都是偶数度的。 判断连通性用并查集,顶点度数的话直接记录 要用并查集,首先单词的数量比较多,用数组储存占用空间较大,要用字典树(trie树)储存,并且将每个单词原创 2017-04-27 15:45:34 · 1257 阅读 · 0 评论 -
最小生成树典型例题 POJ2485 Highways
原题链接:POJ2485 Highways样例输入130 990 692990 0 179692 179 0样例输出692HintHuge input,scanf is recommended.描述 :有个城市叫做H市。其中有很多个村庄,村庄之间通信基本靠吼,交通基本靠走,很不方便。这个市长知道了这个情况,为了替市民着想,决定修建高铁。每修建一米花费1美元。现在市长请了最著名的工程师来修建高铁,自...原创 2017-03-27 10:49:37 · 27619 阅读 · 2 评论 -
最小生成树kruskal与prim算法模板
Kruskal算法模板: //挑战程序设计中的模板 #include using namespace std; const int MAX_E = 10; int V, E; //顶点数和边数 struct edge{ //cost为u到v边的长度 int u, v, cost; }; edge es[MAX_E]; bool comp(const edge& e1, const原创 2017-03-27 10:48:57 · 1276 阅读 · 0 评论 -
spfa算法模板
//最短路之spfa算法模板 const int INF = 0x3f3f3f3f; const int MAX_V = ???; struct edge { //cost代表一个点到to这个点的权值 int to, cost; }; int V, M; //顶点数,边数 vector G[MAX_V]; //G[i]存放的是第i个点到 其他点的序号和权值 int d[MAX_V原创 2017-03-18 10:29:33 · 1338 阅读 · 0 评论 -
Floyd-Warshall算法模板
典型例题:http://acm.hdu.edu.cn/showproblem.php?pid=2544 Floyd-Warshall算法:时间复杂度O(V^3)一般不用 int d[MAX_V][MAX_V];//d[u][v]表示边e=(u,v)的权值(不存在时设为INF,不过d[i][i]=0) int V; //顶点数 void warshall_floyd() {原创 2017-03-26 21:26:41 · 1286 阅读 · 0 评论 -
poj3255 Roadblocks (次短路径问题)
poj3255 Roadblocks (次短路径问题)原创 2017-03-26 21:12:46 · 1251 阅读 · 0 评论 -
并查集模板
#include const int MAX_N = 8; int par[MAX_N]; //父亲 int rank[MAX_N];//树的高度 //初始化n个元素 void init(int n){ for(int i = 0;i < n;i ++) { par[i] = i; rank[i] = 0; } } //查询树的根 int find(int x){ i原创 2017-03-23 16:58:49 · 1093 阅读 · 0 评论 -
poj1182 食物链 并查集应用
poj1182 食物链 并查集应用原创 2017-03-23 16:28:32 · 2285 阅读 · 1 评论 -
poj3723 Conscription 最小生成树
原题链接:poj3723 Conscription #include #include #include using namespace std; const int MAX_N = 10010 * 2; const int MAX_E = 50010; int N, M, V, E; //顶点数和边数 struct edge{ //cost为u到v边的长度 int u, v原创 2017-03-27 15:03:45 · 1264 阅读 · 0 评论 -
nyoj42 一笔画问题
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 /* 欧拉图:通过图(无向图或有向图)中所有边且每边仅通过一次通路称为欧拉通路,相应的回路称为欧拉回路。 具有欧拉回路的图称为欧拉图(Euler Graph),具有欧拉通路而无欧拉回路的图称为半欧拉图。 1.无向连通图G是欧拉图,当且仅当G不含奇数度结点(G的所有结点度数为偶原创 2017-03-20 15:14:46 · 1167 阅读 · 0 评论 -
nyoj21 三个水杯
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=21 //用三维数组的小标记录已经出现过的状态如6 0 0 记vis[6][0][0]=true; //而每种状态都有6种倒水的方法(1->2 1->3 2->1 2->3 3->1 3->2)倒水的次数=上一个状态次数+1 //每种方法都可能出现新状态,标记每次出现的新状态原创 2017-03-18 10:41:27 · 1097 阅读 · 0 评论 -
poj2991 Crane (线段树)
原题链接:poj2991 Crane 题意:有N条线段,第i条线段长度为Li,开始首尾竖直相连,(1 有C条指令,每条指令i给出Si和Ai:把Si和Si+1之间的角度变成Ai,起始角度都是180度 第一个点坐标为(0, 0),执行每条指令后,输出第N个点的坐标 输入 2 1 10 5 1 90 输出 5.00 10.00原创 2017-04-05 11:24:53 · 1202 阅读 · 0 评论