
图论
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 · 1246 阅读 · 0 评论 -
poj2513 Colored Sticks / nyoj230 彩色棒(字典树,并查集,欧拉通路)
原题链接:Colored Sticks题意:给一些木棒,木棒两端图上颜色,将端点颜色相同的木棒连在一起,问是否能连成一条直线。思路:能构成欧拉通路的话就是题解,判断欧拉欧拉通路:1.是连通图 2.有两个奇数度顶点,其余都是偶数度的。判断连通性用并查集,顶点度数的话直接记录要用并查集,首先单词的数量比较多,用数组储存占用空间较大,要用字典树(trie树)储存,并且将每个单词原创 2017-04-27 15:45:34 · 1296 阅读 · 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 · 27710 阅读 · 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 · 1325 阅读 · 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 · 1378 阅读 · 0 评论 -
Floyd-Warshall算法模板
典型例题:http://acm.hdu.edu.cn/showproblem.php?pid=2544Floyd-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 · 1373 阅读 · 0 评论 -
poj3255 Roadblocks (次短路径问题)
poj3255 Roadblocks (次短路径问题)原创 2017-03-26 21:12:46 · 1292 阅读 · 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 · 1109 阅读 · 0 评论 -
poj1182 食物链 并查集应用
poj1182 食物链 并查集应用原创 2017-03-23 16:28:32 · 2318 阅读 · 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 · 1310 阅读 · 0 评论 -
nyoj42 一笔画问题
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42/*欧拉图:通过图(无向图或有向图)中所有边且每边仅通过一次通路称为欧拉通路,相应的回路称为欧拉回路。 具有欧拉回路的图称为欧拉图(Euler Graph),具有欧拉通路而无欧拉回路的图称为半欧拉图。1.无向连通图G是欧拉图,当且仅当G不含奇数度结点(G的所有结点度数为偶原创 2017-03-20 15:14:46 · 1204 阅读 · 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 · 1125 阅读 · 0 评论 -
poj2991 Crane (线段树)
原题链接:poj2991 Crane题意:有N条线段,第i条线段长度为Li,开始首尾竖直相连,(1 有C条指令,每条指令i给出Si和Ai:把Si和Si+1之间的角度变成Ai,起始角度都是180度 第一个点坐标为(0, 0),执行每条指令后,输出第N个点的坐标输入2 110 51 90输出5.00 10.00原创 2017-04-05 11:24:53 · 1258 阅读 · 0 评论