![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
虐猫Da人薛定谔
这个作者很懒,什么都没留下…
展开
-
uva11573 Ocean Currents (01bfs)
传送门题目大意:一个N×M的矩阵,其中格子上有个数字,代表可以水流的方向,如果沿着水流走不需要消耗能量,你也可以不沿着水流走,但要消耗1个能量,问从起始点到目的地至少要多少能量?![方向如图](https://img-blog.csdnimg.cn/20200824155708455.png#pic_center)解题思路:第一次知道01bfs可以用来求解最短路的问题,01bfs顾名思义就是相当于边的权重要么是1要么是0,简单点说其实就是把普通BFS的queue换成deque,如果代价为0则e原创 2020-08-24 16:05:19 · 172 阅读 · 0 评论 -
AtCoder Beginner Contest 176 D-Wizard in Maze(bfs)
题目链接题目大意:一个H×W大小的矩阵,其中'.'代表路,'#'代表墙壁,有两种移动方式一是沿着路一格一格走,二是以当前格为中心,走到5×5正方形中的任何一个路,问你从出发地到目的地至少要用第二种方式走几步?解题思路:abc的场E比D简单多了,这题花了我好久的时间才写出来主要就是麻烦,分两次BFS,一次是第一种方式,一次是第二种方式。代码:// #include<bits/stdc++.h>#include<cstdio>#include<cstring&原创 2020-08-22 23:09:04 · 180 阅读 · 0 评论 -
洛谷P3381最小费用最大流模板题
题目链接#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int maxm = 1e5+5;const int maxn = 1e4+5;struct Edge{ int next,to,f,w;}edge[maxm<<1];int n,m,s,t;int tot=1;int head[maxn];bool inque[maxn];//inque原创 2020-07-17 11:26:05 · 88 阅读 · 0 评论 -
网络流汇总
网络流详解原创 2020-07-12 18:38:31 · 87 阅读 · 0 评论 -
POJ-1273 Drainage Ditches(最大流+EK)
题目链接题目概要有N条边和M个点,每条边连接2个点,这条边有最大的容量,问从第一个点到第N个点的最大流量解题思路 最大流模板题,唯一要注意的是题目是**多组输入**附上我新学的EK代码:在这里插入代码片#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;cons原创 2020-07-12 21:46:25 · 98 阅读 · 0 评论 -
Treasure Exploration POJ - 2594(有向图的最小路径覆盖)
题目链接大意:一个有向图中, 有若干条连接的路线, 问最少放多少个机器人,可以将整个图上的点都走过。思路:因为这是有向图,如果路径之间有相交的点,则不能对图求最大匹配了具体看这,必须先对图用次floyd算法,将图中的点的连通性全表示出来#include<iostream>#include<cstdio>#include<cstring>#includ...原创 2020-02-07 18:25:02 · 103 阅读 · 0 评论 -
Antenna Placement POJ - 3020(无向二分图的最小路径覆盖)
题目链接大意:一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市。问至少放置多少个基站才能使得所有的城市都覆盖无线?思路:这题是无向二分图,所以要进行拆点即最后最大匹配数/2;参考博客公式:无向二分图的最小路径覆盖 = 顶点数 – 最大二分匹配数/2#include<iostream>#include<cstdio...原创 2020-02-07 18:14:19 · 97 阅读 · 0 评论 -
Oil Skimming HDU - 4185(最大匹配)
题目链接大意:给一个nn的地图,其中".“表示海洋,”#"表示飘在海上的石油,有一个公司有12的铲子可以去除在海上的石油,问最多能用多少铲。思路:二分匹配,把每个"#"看成一个点记录有多少的点,如果一个油的上下左右有油,则形成匹配,因为是无向图所谓最后匹配数要除2。#include<bits/stdc++.h>#define maxn 1000using namespace...原创 2020-02-07 17:03:19 · 112 阅读 · 0 评论 -
Rain on your Parade HDU - 2389
题目链接大意:问最多有几个人能拿到雨伞思路:这题算是裸题吧,但用匈牙利算法会超时,要用Hopcroft-Carp算法,我用的是kuangbin的板子,但没有解释,解释看这篇博客#include<bits/stdc++.h>#define maxn 3050#define inf 0x3f3f3f3fusing namespace std;struct node{ d...原创 2020-02-01 14:59:10 · 92 阅读 · 0 评论 -
Swap HDU - 2819
题目链接忘了线性代数的知识了,只能参考博客#include<bits/stdc++.h>#define maxn 105using namespace std;int n;int x[maxn],y[maxn];int match[maxn],vis[maxn];bool maps[maxn][maxn];bool dfs(int u){ for(int i=...原创 2020-02-01 14:54:05 · 83 阅读 · 0 评论 -
棋盘游戏 HDU - 1281
题目链接大意:问有几个点删除之后最大匹配数会减少思路:因为每行每列只能放一个车,所以可以看成是行和列的匹配参考博客#include<bits/stdc++.h>#define maxn 105using namespace std;int n,m,k;bool maps[maxn][maxn];int x[maxn*maxn],y[maxn*maxn],match[...原创 2020-02-01 14:47:39 · 101 阅读 · 0 评论 -
The Accomodation of Students HDU - 2444
题目链接大意:给n个关系,其中有m对人是相互认识的,如果能把这n个人分成两组,每组内的人相互不认识,则问最大匹配数是多少思路:看懂题的话就是二分图裸题,但一开始要先判断是否是二分图,用bfs染色代码:#include<bits/stdc++.h>#define maxn 205using namespace std;vector<int>edge[maxn...原创 2020-01-29 19:05:08 · 95 阅读 · 0 评论 -
过山车 hdu-2063(二分图匹配裸题)
题目链接思路:直接用匈牙利算法的板子参考博客:https://blog.csdn.net/C20180630/article/details/70175814https://blog.csdn.net/Dark_Scope/article/details/8880547邻接表代码:...原创 2020-01-22 14:28:21 · 275 阅读 · 0 评论 -
Organising the Organisation UVA - 10766(生成树计数)
题目链接大意:裸题生成树计数(ps:不是最小生成树)思路:要用到基尔霍夫矩阵参考博客代码:也是参考博客的#include<bits/stdc++.h>#define maxn 55using namespace std;typedef long long ll;int n,m,k;ll a[maxn][maxn];bool maps[maxn][maxn];...原创 2020-01-21 19:47:18 · 91 阅读 · 0 评论 -
Ice_cream’s world II HDU - 2121(最小树形图+无定根)
题目链接大意:给出一个N个点M条边的有向带权图, 以任意点作为源点, 输出最小的最小树形图权值和, 如果没有则输出impossible思路:因为这题没有确切的根,如果每个根都跑一下肯定会tle,所以要去一个虚点连接各个点,权值为m条边的权值加上1。这题还要求最小根的点,具体参考博客:https://blog.csdn.net/charles_zaqdt/article/details/8610...原创 2020-01-19 21:22:17 · 99 阅读 · 0 评论 -
Command Network POJ - 3164(最小树形图)
题目链接大意:给你n个点的坐标,再给你m条边。问你这个图的最小生成树。思路:因为这个图是有向图,并且也给了定根,所以要用朱刘算法。参考博客#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#define maxn 105#define inf 0x3f3...原创 2020-01-19 18:32:51 · 137 阅读 · 0 评论 -
最小树形图入门
树形图百度百科上介绍一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图。求解最小树形图的算法是朱刘算法。原理参考博客:https://blog.csdn.net/mengxiang000000/article/details/51276668https://www.cnblogs.com/xzxl/p/7243466.html模板代码:https://blog...原创 2020-01-19 18:29:09 · 120 阅读 · 0 评论 -
Qin Shi Huang's National Road System HDU - 4081(生成树问题)
题目链接大意:给出N个点的坐标以及每个点的人口, 要求将这N个点通过N-1条边连接起来, 权值为两点直接距离, B为距离和, 同时可以选中一条边, 使得该边权值变为0, A为该边两点人口数量. 求A/B的最大值。思路:为了使的A/B值最大,首先是需要是B尽量要小,所以可先求出n个城市的最小生成树。然后,就是决定要选择那一条用徐福的魔法来变。因此,可以枚举每一条边,假设最小生成树的值是Min...原创 2020-01-17 15:06:19 · 98 阅读 · 0 评论 -
The Unique MST POJ - 1679(非严格次小生成树)
题目链接大意:问由村庄构成的最小生成树是否唯一(这个代码只能判断最小生成树是否唯一,但不能求出严格次小生成树) 严格次小生成树以后要补上#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<algorithm>#define m...原创 2020-01-15 18:48:45 · 102 阅读 · 0 评论 -
Borg Maze POJ - 3026(最小生成树+bfs)
题目链接大意:就是求出每个点之间的距离,然后总和最小,即最小生成树,但要用bfs求距离。参考博客:https://blog.csdn.net/m0_37428263/article/details/79012678...原创 2020-01-15 16:58:06 · 104 阅读 · 0 评论 -
Highways POJ - 1751(最小生成树+剪枝)
题目链接大意:给你n个城市的坐标,再给你m条已经连起来的路,问你还有那些城市需要连起来并且路长最小。思路:一眼就可以看出是最小生成树,但直接提交会超时,需要剪枝,这题剪枝的技巧在其他最小生成树的题也可以使用(ps:参考博客)在这里插入代码片...原创 2020-01-15 00:21:32 · 305 阅读 · 0 评论 -
The Shortest Path in Nya Graph HDU - 4725(层次建图)
题目链接大意:有n个点,他们可能在不同的层次,如果两个不同层次的点之间没有路,那么需要消耗c代价,如果有则消耗w代价,问从1到N最少需要多少代价?参考这两篇文章:图形 代码...原创 2020-01-12 23:01:15 · 60 阅读 · 0 评论 -
Extended Traffic LightOJ - 1074(经典spfa判环问题)
题目链接大意:有n个城市,每个城市有一个拥挤度,你要从一个城市i到另一个城市j的时间为(busy[i]-busy[j])的3次方。给q次查询,问你从1到查询城市所需最小时间。解题思路可以参考这篇博客:https://www.cnblogs.com/00isok/p/9568773.html...原创 2020-01-11 21:38:42 · 160 阅读 · 0 评论 -
2019 ICPC Asia Nanjing Regional C. Digital Path(拓扑排序)
题目大意:问你每次涨幅为1的路径有几条,必须要走到尽头思路:类似于这种每个状态都要取决于上一个状态的图,可以试试拓扑排序#include<iostream>#include<cstdio>#include<cstring>#include<queue>#define ll long longusing namespace std;...原创 2019-12-03 23:25:45 · 206 阅读 · 0 评论 -
2019 ICPC Asia Yinchuan Regional H. Delivery Route
题目大意:给你x条双向边和y条单向边,问你这个点中每个点到s点的最小距离(注意:单向边可能为负,所以要用spfa)但是裸的spfa又会tle,这时就要用slf优化这是我的spfa优化的代码,但是用了容器,还是会tle#include<iostream>#include<cstdio>#include<cstring>#include<vecto...原创 2019-12-03 19:30:05 · 216 阅读 · 0 评论 -
hdu-1242
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1242如果往个放向每走一步的代价不一样的话,bfs要用优先队列#include<bits/stdc++.h>using namespace std;int n,m;char maze[205][205];int dir[4][2]={{1,0},{-1,0},{0,1},{0,-...原创 2019-11-17 19:04:53 · 113 阅读 · 0 评论 -
codeforces-1105D
D. Kilani and the Gametime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputKilani is playing a game with his friends. This game can be represe...原创 2019-11-13 20:43:47 · 107 阅读 · 0 评论