图论
文章平均质量分 56
里阿奴摩西
这个作者很懒,什么都没留下…
展开
-
[最小k度限制生成树] POJ 1639 Picnic Planning
论文:汪汀--最小生成树问题的拓展另见:http://blog.csdn.net/jarily/article/details/8779621 http://www.cnblogs.com/ylfdrib/archive/2010/08/21/1805505.html主要思想:先求出最小m度限制生成树 由最小m度限制生成树找环得到最小m+1度限制生成树实现么 Prime/Kruskal原创 2016-12-11 10:43:10 · 335 阅读 · 0 评论 -
[二分图染色判奇偶换 || 并查集] HDU 5215 Cycle
其实判奇偶环应该可以用带权并查集 不是很清楚 没有写过二分图无奇环 非二分图必有奇环偶环么 要是两个奇环有公共点必然可以变成一个偶环 那么在dfs树上打标记 看一个点被几个奇环包含标记先差分再向上传递 老套路了#include#include#include#include#pragma comment(linker, "/STACK:102400000,10240原创 2016-12-19 20:25:23 · 428 阅读 · 0 评论 -
[博弈 图论] BZOJ 2922 [Poi1998]Chase
%%% BYVOID 注意到题上的一个看似无关紧要的条件,“不包括三角形”,这是一个突破口。由这个条件,我们可以证明,如果一个图不存在度数为1的顶点,B永远也追不上A。也就是B想追上A,必须让A“走投无路”。于是我们首先把原图处理一下,求出对于A来说的安全区。对于A来说的安全区,也就是一个没有度为1的顶点的最大子图。我们把这个安全区求出,并标记上。A要想不被B抓住,则一原创 2016-12-17 11:41:38 · 518 阅读 · 0 评论 -
[分层图 DP] HihoCoder #1147 时空阵
题解:http://blog.csdn.net/nlj1999/article/details/50413427?locationNum=4由于K于是乎边只能和上一层以及本层的节点相连。注意最后一层必有n 然后剩下的弄成一团 无所谓分不分层 放在n那一层的后面 #include#include#includeusing namespace std;原创 2016-12-19 20:21:07 · 550 阅读 · 0 评论 -
[K短路 可持久化堆 最短路径树] JDFZ 2978 第k短路(强)
链接:https://oj.jdfz.com.cn/oldoj/problem.php?id=2978鼎爷的【课件】堆的可持久化和k短路#include#include#include#include#include#include#define cl(x) memset(x,0,sizeof(x));using namespace std;ty原创 2016-12-21 07:06:27 · 897 阅读 · 0 评论 -
[AND最大生成树 分治 Trie || Kruskal] UOJ Goodbye Yiwei C #176. 新年的繁荣
这个直接上题解吧 :http://vfleaking.blog.uoj.ac/blog/1244Kruskal 用尛焱轟的话来说就是枚举边权 可以发现一种边权最多只有O(m)个联通块需要合并 O(m 2^m a(n))#include#include#includeusing namespace std;typedef long long ll;inli原创 2016-12-23 16:12:28 · 634 阅读 · 0 评论 -
[LCT 边双连通分量缩点] BZOJ 2959 长跑
一个边双连通分量肯定可以定向成一个环 那么就缩点每次连接 要是本来不连通 就连起来连通的话就把树上路径全缩起来询问就是树上路径的值#include #include #include #include #include #include using namespace std; typedef pair abcd; typ原创 2016-12-23 16:04:26 · 539 阅读 · 0 评论 -
[K短路 可持久化堆] HDU 5960 Subsequence
建图不难 然后直接上K短路 A*被完虐#include#include#include#include#include#include#define cl(x) memset(x,0,sizeof(x));using namespace std;typedef long long ll;inline char nc(){ static char buf[1000原创 2016-12-21 07:09:55 · 1041 阅读 · 0 评论 -
[贪心 图论] 计蒜客 40 百度之星 聚会游戏
百度之星总决赛即是一群编程大牛一决高下的赛场,也是圈内众多网友难得的联欢,在为期一周的聚会中,总少不了各种有趣的游戏。某年的总决赛聚会中,一个有趣的游戏是这样的:游戏由Robin主持,一共有N个人参加(包括主持人),Robin让每个人说出自己在现场认识的人数(如果A认识B,则默认B也认识A),在收到所有选手报出的数据后,他来判断是否有人说谎。Robin说,如果他能判断正确,希望每位选手都能原创 2016-11-17 06:56:39 · 452 阅读 · 0 评论 -
[二分图 图的直径] Codeforces 542E VK Cup 2015 - Round 3 E.Playing on Graph
存在奇环就一定无解。对于一个二分图,最长链为这个图的直径。将所有连通块的直径相加#include#include#include#includeusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fre原创 2016-11-01 13:29:44 · 554 阅读 · 0 评论 -
[拓扑排序] BZOJ 2535 [Noi2010]Plane 航空管制2 & 2109 [Noi2010]Plane 航空管制
用拓扑排序搞最早什么时候起飞就倒过来建反图然后一个劲的从后面加直到不能加为止#include#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef pair abcd;inline char nc(){ static char原创 2016-10-31 18:02:22 · 598 阅读 · 0 评论 -
[线段树优化建图最短路 bfs] BZOJ 3073 [Pa2011]Journeys
CA爷的题解:http://blog.csdn.net/CreationAugust/article/details/50739132#include#include#include#includeusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1=原创 2016-05-08 12:41:53 · 1083 阅读 · 0 评论 -
[bfs 分层图 字典序 最短路] BZOJ 2644 Pku3967 Ideal Path
将点按照距离分层,对每一层,计算有效点到下一层的最小颜色值#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(原创 2016-06-29 16:30:08 · 428 阅读 · 0 评论 -
[强连通分量] BZOJ 2438 [中山市选2011]杀人游戏
题意...看了题解才知道 认识关系是可以传递的啊注意一个坑人的特判一开始看到这个题还以为是关于概率和期望的问题,,结果发现这题的概率就是个没有技术含量的东西,,假如警察一共只询问了x个人的话,那么安全的概率就是1-x/n,,所以说关键就是求出x的值; 我们发现如果将所有关系看作一棵树的话,那么我们只要调查树的根节点就可以了,也就是说我们的答案就是1-根节点数/节点总数;但是原创 2016-06-29 16:36:13 · 355 阅读 · 0 评论 -
[割顶 乱搞] BZOJ 2730 [HNOI2012]矿场搭建
充满了乱搞的气息首先如果一个联通块没有割顶 那么要两个 因为要避免单个那个塌陷了然后如果有割点 割点再把他分成子联通块 可以发现 叶子必须有一个 也就是说只和一个割点相连的子联通块必须有一个 方案数是size相乘然后再把ans1相加 ans2相乘#include#include#include#include#define cl(x) memset(x,0,size原创 2016-06-29 16:40:41 · 377 阅读 · 0 评论 -
[二分图完美匹配必要边 强连通分量] BZOJ 2140 稳定婚姻
求二分图完备匹配的必要边,①存不存在增广环? O(N^2) ②直接试着删去按照hungery找完备匹配 O(N^3)。如果一个点所在的强连通分量大小大于1,那么说明原图存在一条匹配边-非匹配边-匹配边-非匹配边的环,所以这些边不一定在最大匹配上。#include#include#include#include#include#define V G[p].vusing原创 2016-07-04 18:26:17 · 804 阅读 · 0 评论 -
[最小乘积生成树 分治] BZOJ 2395 [Balkan 2011]Timeismoney
丢下题解就走:http://www.cnblogs.com/autsky-jadek/p/3959446.html贴吧的讨论:http://tieba.baidu.com/p/3357839800#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;t原创 2016-07-04 18:37:09 · 617 阅读 · 0 评论 -
[最小方差生成树 Kruskal] SRM 611 500pts
题目大意:小R计划给小Z买一个很大的庄园,庄园里的建筑可以抽象为二维平面坐标系上的N个点。对于任意两个点,他都可以修建一条笔直的公路使它们相连(该公路的长度即为两点的欧式距离) 。为了能腾出更多的资金给小Z买礼物,小R要恰好修建N-1条公路,使得任意两个建筑都能直接或者间接的到达。但小R有强迫症。他要使他修建的道路长度的这个数列的标准差尽量的小。设他修建的N-1条道路的原创 2016-07-04 20:52:42 · 779 阅读 · 0 评论 -
[动态最小生成树 CDQ分治 Kruscal] BZOJ 2001 [Hnoi2010]City 城市建设
思路不难想 借鉴了其他人的代码:http://blog.sina.com.cn/s/blog_6e63f59e0101blum.html两个关键的操作:Reduction(删除无用边):把待修改的边标为INF,做一遍MST,把做完后不在MST中的非INF边删去(因为这些边在原图的情况下肯定更不可能选进MST的边集,即无用边);Contraction(缩必须边,缩点):把待修原创 2016-07-13 16:19:54 · 921 阅读 · 0 评论 -
[瓶颈生成树] BZOJ 2429 [HAOI2006]聪明的猴子
裸的瓶颈生成树为什么大家打的都是kruskal原创 2016-08-23 18:21:01 · 315 阅读 · 0 评论 -
[最小割唯一性 Tarjan 最短路图] BZOJ 3258 秘密任务
被各种坑坑到意识模糊#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2原创 2016-08-05 14:27:40 · 546 阅读 · 0 评论 -
[生成树 MatrixTree定理] BZOJ 1016 [JSOI2008]最小生成树计数
很久以前做的题了看到zhanghanchong神犇在做有两个结论最小生成树的两个性质:1、边权相等的边的个数一定。2、做完边权为w的所有边时,图的连通性相同。有了这两个结论 每种权值 个数少可以爆搜hzwer的代码#include#include#include#include#define mod 31011using names原创 2016-08-23 18:32:23 · 476 阅读 · 0 评论 -
[n点无向图个数 分治FFT || 多项式求逆] BZOJ 3456 城市规划
然后就分治FFT了#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin)原创 2016-09-14 19:28:17 · 809 阅读 · 0 评论 -
[欧拉回路 构造 || 网络流] Codeforces 723E #375 (Div. 2) E. One-Way Reform
通过欧拉回路构造 称度为偶数的点为偶点 度为奇数为奇点偶点可以满足条件 而奇点不能肯定可以通过只加奇点之间的边使得存在欧拉回路然后求欧拉回路 把加的边删去 对偶点无影响那么就能使所有偶点满足条件网络流?我不是很会网络流的做法#include#include#include#include#define cl(x) memset(x,0,sizeo原创 2016-10-05 21:14:06 · 622 阅读 · 0 评论 -
[双连通分量 缩点 并查集] POJ 3177 Redundant Paths & 3352 Road Construction
双连通分量缩点 并查集 竟然是第一次打缩点后是一棵树结论是(叶子节点+1)>>1 也就是每次取lca最浅的两个叶子连边#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;inline char nc(){ static char buf原创 2016-10-28 08:20:59 · 387 阅读 · 0 评论 -
[Tarjan缩点 拓扑序DP] SRM 499 1000pts
题目大意题解:#include#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,原创 2016-07-16 18:02:04 · 392 阅读 · 0 评论