
图基础
文章平均质量分 80
favomj
吃枣药丸
展开
-
Dinic模板题
图论模板原创 2016-12-05 00:06:25 · 444 阅读 · 0 评论 -
图,点,边
独立集: 图的顶点集的子集,其中任意两点不相邻。最小点覆盖:二分图中,选取最少的点数,使这些点和所有的边都有关联(把所有的边的覆盖)最小路径覆盖:最小路径覆盖就是找出最小的路径条数,使之成为P的一个路径覆盖.|最大独立集| = |V|-|最大匹配数||最小顶点覆盖| = |最大匹配| |最小路径覆盖| = |V| - |最大匹配|二分图最小顶点覆盖 =原创 2016-12-20 16:08:56 · 407 阅读 · 0 评论 -
poj 1716(最长路+差分约束系统)
题意:给出n个区间,现在要你找出一个点集,使得这n个区间都至少有2个元素在这个点集里面,问这个点集最少有几个点。 思路:spfa+差分约束,当然贪心也可以做,应该更快。与1201题相似,关键在于用dict[i]表示区间[0, i]上在这个点集的元素个数,具体解法详见poj 1201 :Intervals。#includeusing namespace std;const i转载 2017-03-03 13:48:12 · 324 阅读 · 0 评论 -
POJ - 1062(枚举+最短路)
分析:因为有等级限制,所以枚举等级范围,再用最短路判断最小金币即可可以根据酋长的等级来缩小枚举的范围#include #include #include #include #include using namespace std;#define INF 1e9#define maxn 50001int n , m ;struct node{ int原创 2017-03-03 16:56:37 · 249 阅读 · 0 评论 -
POJ - 1511
分析:就是暴力- -因为是有向图,所以要存一个反转道理的边集合#include #include #include #include #include using namespace std;#define INF 0xFFFFFFFF#define maxn 1000000+5struct node{ int nxt,dec,len;};node E[2][ma原创 2017-03-03 17:00:08 · 286 阅读 · 0 评论 -
染色+最小生成树
有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物。现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着矩形的方格的边沿搭建,如下图城市1有5栋建筑物,可以搭建4座桥将建筑物联系起来。城市2有两座建筑物,但不能搭建桥梁将它们连接。城市3只有一座建筑物,城市4有3座建筑物,可以搭建一座桥梁联系两栋建筑物,但不能与第三座建筑物联系在一起。分析:染色,暴原创 2017-05-02 13:11:23 · 379 阅读 · 0 评论 -
哈密顿图 poj 1776
哈密顿图解析:http://blog.youkuaiyun.com/pi9nc/article/details/9219971#include #include using namespace std;#define maxn 1010 bool graph[maxn][maxn];int next[maxn];int head, n;char str[maxn << 1];int ma原创 2017-05-04 17:00:49 · 218 阅读 · 0 评论 -
最小瓶颈路(LCA+kruskal)
题目链接:http://codevs.cn/problem/1519/此题需要掌握的:kruskal , LCA, 最小瓶颈路 , rmq分析:本来用次小生成树的做法做,但因为 n 太大,有几组数据内存超限,看了一下别人的题解后知道是用 LCA 记录 先来错误的题解:#include #include #include #include using namespace原创 2017-05-08 14:03:33 · 418 阅读 · 0 评论 -
树直径,节点最远距离 hdu 2196
树直径,节点最远距离 hdu 2197原创 2017-05-18 11:51:07 · 296 阅读 · 0 评论 -
hdu 6166(随机概率dijkstra)
题意:要你在一个图指定点钟找出两个距离最短的点分析:枚举 位数, 使包含当前位数的为一个集合,不包含的为另一个集合,跑dijkstra#include #include #include #include #include #include using namespace std;#define maxn 100400#define INF (1<<30)typedef原创 2017-09-13 10:22:36 · 268 阅读 · 0 评论 -
hdu 5521(dijkstra+缩点)
题意:题目大意:A,B两个人分别在1和n区。求碰面区间使得两人所花时间最短分析: 因为是以集合给出,所以按集合中的边数两两建边会导致边数过多,所以一个集合添加一个缩点,到缩点的距离为当前集合的值#include #include #include #include #include #include using namespace std;typedef long long原创 2017-09-14 14:17:43 · 249 阅读 · 0 评论 -
补图 + bfs
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5876题意:n 个点的无向完全图中删除 m 条边,问点 s 到其他点的最短路长度。题解:补图上的 BFS 是非常经典的问题。一般的做法是用链表(或者偷懒用 std::set)维护还没 BFS 过的点。当要扩展点 u 的时候,遍历一次还没访问过的点 v,如果 uv 没边,那么将 v转载 2016-12-22 21:33:18 · 511 阅读 · 0 评论 -
poj 1734(最小环+路径)
最小环模板题原创 2017-08-29 22:03:51 · 1158 阅读 · 0 评论 -
hdu 4635
分析:完全图的边数为 n*(n-1)若图不为强连通图,那么最多存在两个部找出每个强连通的个数,当该连通图的入度或出度问为0时计算即可#include #include #include #include #include #include #include using namespace std;#define maxn 100050vectorE[maxn];原创 2017-09-15 15:19:56 · 264 阅读 · 0 评论 -
hdu 2449(第k短路)
分析:各种wa , 时间爆了,内存爆。。。#include #include #include #include #include #define MAXN 1005#define MAXM 500005#define INF 1000000000using namespace std;struct node{ int v, w, next;}edge[MAXM]原创 2017-08-30 10:54:47 · 421 阅读 · 0 评论 -
2005: Nearest Maintenance Point
A county consists of n cities (labeled 1, 2, …, n) connected by some bidirectional roads. Each road connects a pair of distinct cities. A robot company has built maintenance points in some cities. Now, they need your help to write a program to query the ne原创 2017-09-12 15:46:52 · 363 阅读 · 0 评论 -
最大团模板
最大团:在一个无向图中找出一个点数最多的完全图。最大独立集=补图的最大团最大团=补图的最大独立集对于二分图的最大独立集:最大独立集==顶点数-匹配数对于普通图的最大独立集:普通图的最大独立集==补图的最大团最大团模板题:http://acm.hdu.edu.cn/showproblem.php?pid=1530#include <iostream>#include <algor...原创 2018-03-27 19:43:24 · 421 阅读 · 0 评论 -
poj 1419
Poj1419原创 2016-12-20 16:03:30 · 433 阅读 · 0 评论 -
hdu题目分类
hdu题目分类转载 2016-12-19 21:47:46 · 241 阅读 · 0 评论 -
图的强联通分量模板
#include #include #include #include using namespace std;#define maxn 10010int dfn[maxn];int low[maxn];vectorG[maxn];int N,M;int ins[maxn];int index;int cnt;int belong[maxn], st[maxn];int原创 2016-12-19 21:45:21 · 281 阅读 · 0 评论 -
最大流最小割
最小割原创 2016-12-05 00:58:14 · 319 阅读 · 0 评论 -
二分图多重匹配
二分图多重匹配原创 2016-12-05 01:25:16 · 315 阅读 · 0 评论 -
最小路径覆盖
最小路径覆盖原创 2016-12-05 01:57:51 · 255 阅读 · 0 评论 -
最大权闭合子图
最大权闭合子图原创 2016-12-05 02:37:18 · 313 阅读 · 0 评论 -
无向图最小环
无向图最小环原创 2016-12-05 03:36:49 · 929 阅读 · 0 评论 -
欧拉图
欧拉图原创 2016-12-05 19:58:44 · 528 阅读 · 0 评论 -
prim+heap模板
prim+heap原创 2016-12-05 22:01:11 · 522 阅读 · 0 评论 -
最大流建图+拆点
最大流建图+拆点原创 2016-12-06 21:03:47 · 355 阅读 · 0 评论 -
Evacuation Plan
poj 2175转载 2016-12-08 20:07:34 · 490 阅读 · 0 评论 -
次小生成树
次小生成树原创 2016-12-15 21:04:11 · 269 阅读 · 0 评论 -
最小瓶颈路
题目 uva 534题目大意:有两只青蛙,在两块不同的石头上,有一只想要去拜访另一只,要求通过它石头进行跳跃然后在一起呀在一起,可想而知,由于石头有很多,他们中间的路径也有很多,现在要求求一个长度:从每条路径里面挑出那步跨越最大的,然后从这些跨越最大的里面挑出最小的。分析:flody 的改版#include #include #include double转载 2016-12-15 21:30:18 · 283 阅读 · 0 评论 -
有向图最小生成树
最小树形图原创 2016-12-14 13:07:50 · 9998 阅读 · 1 评论 -
消圈定理详解
消圈定理转载 2016-12-14 14:48:34 · 2284 阅读 · 0 评论 -
RMQ
RMQ模板原创 2016-12-21 18:57:51 · 276 阅读 · 0 评论 -
Trajan详解
Trajan详解原创 2016-12-21 20:45:35 · 569 阅读 · 0 评论 -
大数据完全图
/**SCU - 4444 别样最短路径-大数据完全图题目大意:给定一个完全图,其中有两种边,长度为a(不超过5e5)或长度为b(剩下的),求有1~n的最短路径(数据范围1e5)解题思路:如果1和n之间连边为a那么答案一定为a和一条最短的全由b组成的路径的较小者,如果1和n之间连边为b,那么答案一定 为b和一条最短的全由a组成的路径的较小者。对于第1种情况直接跑转载 2016-12-22 19:30:34 · 265 阅读 · 0 评论 -
ccf 交通规划
题目:略有10e4个点,但是用数组保存会报运行错误所以改成用优先队列写法简单的最短路的优先队列优化,注意一下不是所有点到首都的距离加起来就是花费(因为路径重复),而是每到一个地方(最短路条件下)所需要加入的新的花费 。#include <bits/stdc++.h>using namespace std;#define maxn 10005typedef pai...原创 2019-02-25 16:11:53 · 223 阅读 · 0 评论