图论
NoobPlayer_llke
除了编程啥都会点
展开
-
PAT1118 Birds in Forest (求连通块数量-并查集)
一些科学家为森林中成千上万的鸟类拍照。假设所有出现在同一张照片中的鸟都属于同一棵树。请你帮助科学家计算森林中树木的最大数量,对于任何一对鸟类,请判断它们是否在同一棵树上。思路:与1013几乎一样,在输入上做了一点改变,转化为求点的数量和连通块的数量,并询问两点是否在同一连通块。考虑并查集来解决这种求连通块问题。#include<bits/stdc++.h>#define rep(i,a,n) for(int i=a;i<n;i++)#define INF 0x3f原创 2020-05-17 17:39:40 · 279 阅读 · 0 评论 -
PAT 1013 Battle Over Cities (删点求连通块问题---并查集/爆搜)
在战争中,所有城市都必须通过高速公路连接起来,这一点至关重要。如果一个城市被敌人占领,则从该城市/往该城市的所有高速公路都将关闭。此时,我们必须立即判断是否需要维修其他高速公路以保持其余城市的连通性。给定城市与道路分布地图以及一个重点关注城市列表,请你判断,当列表中的某个城市被攻陷时,至少要维修多少条高速公路才能保持其余城市的连通性。例如,共有33座城市,由22条高速公路将它们连通,一条连接城市1和城市2,一条连接城市1和城市3。当城市1被敌人占领时,我们需要在城市...原创 2020-05-17 16:57:56 · 402 阅读 · 0 评论 -
PAT dijkstra模板
常规版,大多数情况下用这个即可#include<bits/stdc++.h>#define rep(i,a,n) for(int i=a;i<n;i++)#define INF 0x3f3f3f3fusing namespace std;const int N=2333;int n,m,k;int g[N][N];int dist[N],vis[N];in...原创 2020-05-05 16:54:15 · 157 阅读 · 0 评论 -
PAT1150 Travelling Salesman Problem旅行商问题(简单回路)
https://pintia.cn/problem-sets/994805342720868352/problems/1038430013544464384对于每个路径,在一行中输出Path X: TotalDist (Description)。其中X是路径编号(从11开始),TotalDist表示路径总距离(如果距离不存在,则输出NA),Description是下列中的一...原创 2020-05-05 16:22:08 · 379 阅读 · 0 评论 -
PAT1146 Topological Order 拓扑排序(两种思路)
https://pintia.cn/problem-sets/994805342720868352/problems/994805343043829760辣鸡如我已经忘了拓扑序是个什么东西了。特地去百度了一下::在图中从顶点A到顶点B有一条有向路径,则顶点A一定排在顶点B之前。大致意思就是必须满足前面节点都在序列中,该节点才能进序列那么就很简单了,输入时把一个节点的父节点(不知道这样称...原创 2020-05-05 14:47:19 · 204 阅读 · 0 评论 -
PAT 1142 Maximal Clique 最大团
传送门在一个无向图中,如果一个顶点子集满足子集内的任意两个不同顶点之间都是相连的,那么这个顶点子集就被称为一个团。如果一个团不能通过加入某个新的顶点来扩展成一个更大的团,那么该团就被称为最大团。现在,你需要判断给定顶点子集能否构成一个最大团。思路:先判断是不是个团(如果顶点子集内存在两个点没有边就不是团),再遍历子集外的点,如果存在一个点和子集内所有点都有边,那就不是最大团...原创 2020-05-04 19:16:09 · 125 阅读 · 0 评论 -
PAT 1134 Vertex Cover && PAT 1154 Vertex Coloring 顶点覆盖/涂色
如果图中的一个顶点集合能够满足图中的每一条边都至少有一个端点在该集合内,那么这个顶点集合就是图的顶点覆盖。现在给定一张图,以及若干个顶点集合,请你判断这些顶点集合是否是图的顶点覆盖。#include<bits/stdc++.h>#define rep(i,a,n) for(int i=a;i<n;i++)#define PII pair<int,int&...原创 2020-05-03 17:09:29 · 160 阅读 · 0 评论 -
1131 Subway Map地铁地图(邻接表+dijkstra堆优化附模板)
传送门找出⼀条路线,使得对任何给定的起点和终点,可以找出中途经停站最少的路线;如果经 停站⼀样多,则取需要换乘线路次数最少的路线PAT中的图论最恶心难的题,根据题目描述可以看出是道最短路的题,立即推dijkstra,但是本题还要求输出每条最短路的来源和线路,处理起来较为麻烦。考虑把每条线路中的所有站点都连一条带权值的双向边,这样一来可以方便求出两点之间的最短路。但是这样建...原创 2020-05-03 16:19:39 · 754 阅读 · 0 评论 -
1126 Eulerian Path 欧拉回路
传送如果⼀个连通图的所有结点的度都是偶数,那么它就是Eulerian,如果除了两个结点的度是 奇数其他都是偶数,那么它就是Semi-Eulerian,否则就是Non-Eulerian处理出每个节点的度后,判断一次连通性。#include<bits/stdc++.h>#define rep(i,a,n) for(int i=a;i<n;i++)#d...原创 2020-05-02 15:11:02 · 191 阅读 · 0 评论 -
PAT1122 Hamiltonian Cycle 哈幂顿回路
传送门判断给定路径是否为哈密顿回路。哈密顿回路是一个包含图中每个顶点的简单回路将给定序列先根据哈密顿回路性质(顶点数是否一致,是否回到起点)判断再通过遍历判断是否连通 以及确保每个点都在图中#include<bits/stdc++.h>#define rep(i,a,n) for(int i=a;i<n;i++)#define INF 0x3f3f3f...原创 2020-05-02 14:47:06 · 212 阅读 · 0 评论 -
PAT1021 Deepest Root 最深的根(并查集+遍历树)
传送给定N个点和N-1条边构成的无向图,若超过一个连通分量,输出连通分量的个数,否则输出能构成的树的最大深度判断连通分量个数考虑并查集因为数据很小,考虑暴力枚举每个点为根的情况的深度,取最大值。用邻接表存储#include <iostream>#include<bits/stdc++.h>#define rep(i,a,n) for(int i=a...原创 2020-04-18 21:18:21 · 181 阅读 · 0 评论 -
Bumped!【最短路】(神坑
问题 B: Bumped!时间限制: 1 Sec内存限制: 128 MB提交: 351解决: 44[提交] [状态] [命题人:admin]题目描述Peter returned from the recently held ACM ICPC World finals only to find that his return flight was overbooked and...原创 2019-04-13 10:51:54 · 193 阅读 · 0 评论 -
TV Show Game 【2-SAT】
问题 K: TV Show Game时间限制: 1 Sec内存限制: 512 MBSpecial Judge提交: 51解决: 10[提交] [状态] [命题人:admin]题目描述Mr. Dajuda, who is famous for a TV show program, occasionally suggests an interesting game for ...原创 2019-04-09 14:17:38 · 918 阅读 · 0 评论 -
HDU 2647 Reward 【拓扑排序反向建图+队列】
题目 RewardDandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to distribute rewards to his workers. Now he has a trouble about how to distribute the rewards.The wo...原创 2019-03-26 21:37:02 · 142 阅读 · 0 评论 -
HDU - 1875 畅通工程再续【最小生成树】
Problem Description相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米...原创 2019-04-04 17:11:39 · 134 阅读 · 0 评论 -
POJ 1679 The Unique MST 【判断最小生成树是否唯一】
DescriptionGiven a connected undirected graph, tell if its minimum spanning tree is unique.Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is ...原创 2019-04-04 21:55:26 · 241 阅读 · 1 评论 -
POJ 1251 + HDU 1301 Jungle Roads 【最小生成树】
这是一道裸的最小生成树题,拿来练手,题目就不放了个人理解 Prim有些类似最短路和贪心,不断找距当前点最小距离的点Kruskal类似于并查集,不断找最小的边,如果不是一棵树的节点就合并为一颗树AC代码:Prim算法:#include<iostream>#include<cstdio> //EOF,NULL#include<cstri...原创 2019-03-31 17:16:36 · 167 阅读 · 0 评论 -
HDU1233 还是畅通工程【最小生成树】
Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随...原创 2019-03-31 19:03:21 · 172 阅读 · 0 评论 -
POJ - 1287 Networking 【最小生成树Kruskal】
You are assigned to design network connections between certain points in a wide area. You are given a set of points in the area, and a set of possible routes for the cables that may connect pairs of p...原创 2019-03-31 20:51:38 · 189 阅读 · 0 评论 -
旅行商问题【山财新生赛E】
链接:https://ac.nowcoder.com/acm/contest/547/E来源:牛客网题目描述旅行商来到了一个新的国家,这个国家有N个城市,他们直接由N-1条道路相连接,每条道路的长度不尽相同旅行商现在在1号城市,若他要每一个城市都游览一遍,他需要行走的最短路程是多少?输入描述:第一行一个数N (50000>N>1)代表城市个数之后N-...原创 2019-03-27 21:34:04 · 130 阅读 · 0 评论 -
POJ 1751 Highways 【最小生成树 Kruskal】
HighwaysTime Limit:1000MS Memory Limit:10000K Total Submissions:23070 Accepted:6760 Special Judge DescriptionThe island nation of Flatopia is perfectly flat. Unfort...原创 2019-04-06 16:53:31 · 157 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home 【最短路SPFA】
Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wants to get b...原创 2019-04-01 21:47:08 · 139 阅读 · 0 评论 -
HDU1285 确定比赛问题【拓扑排序+优先队列】
题目有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input输入有若干组,每组中的第一行为二个数N(1<=N<=500),M;...原创 2019-03-26 19:12:58 · 100 阅读 · 0 评论