
Graphs
文章平均质量分 73
haha593572013
这个作者很懒,什么都没留下…
展开
-
poj 1699 TSP(状态压缩DP) + KMP
http://poj.org/problem?id=1699题意:给你n个串,让你构造出一个最短的串,使得这n个串每个串都是这个串的子串,输出你构造的串的长度即可(如果要输出构造的串中字典序最小的,就有点难了)数据范围小,不一定要使用KMP预处理的分两步:1:预处理出一个串的前缀最多匹配多少长度的另一个串的后缀2:然后就相当于旅行商问题了,每两个串之间都有一定的距离,设原创 2012-08-11 13:13:32 · 1681 阅读 · 0 评论 -
Codeforces Round #165 (Div. 1)
A:求出对于每堆箱子满足条件的最大的那个就好了,因为对于两个“大箱子” A B,里面各自都嵌套了很多相同的小箱子,体积小的那一个必然可以放进体积大的那一个(2^k),体积相等时也可以合并为1个,因为题目保证每种箱子都是不一样大小,所以A 或 B中的箱子的体积肯定是不同的,所以可以将A中的所有箱子放入B中,(假设A中箱子的体积较小),所以可以通过不断的合并合并成最大的那个。B:尽可能通过少的移动原创 2013-02-02 13:07:15 · 1140 阅读 · 0 评论 -
Codeforces 267C 高斯消元解方程
题目链接首先,这个题还是蛮有意思的,,,其次,一个sb的bug整了我一下午题意:给出一个流量网络,告诉你每条边流量的上限,每个点(除了源点和汇点)都满足流量平衡,即流进 = 流出 ,还有一个关键的条件是对于任意的x y,从x走到y的流量和相等,流量和为从x到y每条边的流量相加(有正有负)。最后让你输出一种网络流的方案,使得总的流量最大对于任意两个点,不管走哪条路径,流量和都原创 2013-02-03 17:59:19 · 1694 阅读 · 0 评论 -
codeforces 151(完全)
最近变懒了,好久没写题解了。。这场codeforces 是在实验室做的,当晚实验室竟然有8个人同时做codeforces,创下了我们学校集训队熬夜做codeforces的记录,12级的一两个同学上升势头很猛,赞一个。说一下题目吧:A:水题B :水题C : 比水题稍难D: 阅读理解题吧,读懂了就秒掉了E题:写了一个比较挫的英文problem E: we can a原创 2012-11-23 22:00:38 · 1260 阅读 · 0 评论 -
Codeforces Round #168 (Div. 1) 完全
地址:http://codeforces.com/contest/274解题报告 http://codeforces.com/blog/entry/6759赛后补完后都忘了总结。。。。。A:找出一个最大的集合,使得不存在一个数是另一个数的k倍,将矛盾的数之间建边,会有很多条单链,可知有一半的数可以一起存在http://codeforces.com/contest/274/sub原创 2013-03-08 21:53:34 · 1369 阅读 · 0 评论 -
求图的绝对中心 && 最小直径生成树 MDST
推荐资料http://www.csie.ntnu.edu.tw/~u91029/SpanningTree.html#a7上次写的二分,http://blog.youkuaiyun.com/haha593572013/article/details/8538216参考lzqxh写的 : http://www.cnblogs.com/lzqxh/archive/2013/03/05/2944834原创 2013-04-18 01:23:29 · 5450 阅读 · 1 评论 -
解决一般图匹配的带花树算法
正在细细研读各种资料。。。好难写的感觉一朵朵花先缩起来,随后又一朵朵绽放。。。。。。题目如下http://acm.timus.ru/problem.aspx?space=1&num=1099http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3726http://acm.hdu.edu.cn/showpr原创 2013-08-17 17:19:29 · 1366 阅读 · 0 评论 -
为什么二分图的最大二分匹配数等于最小点覆盖数
md,昨晚上的tc500pt竟然能没做出来,说到底还是没有对算法有深入的理解。。。。2333333,不扯了。。我想说的是这里有一篇很详细的文章,不过感觉有点过于详细了。http://www.matrix67.com/blog/archives/116按照博文中所说,做完一次匈牙利算法后我们从右边的未选点出发,开始找增广路(显然已经找不到了),这个过程中会搜出一颗颗的交错树,起点都是未匹配点原创 2013-10-16 15:22:26 · 2480 阅读 · 0 评论 -
上下界网络流
犹记得上一年的时候做过上下界网络流的题目,但是那个时候只会套网上的建图方法,对内部的原理一知半解,因此前几天碰到这个题的时候就有些凌乱了,于是,重新学习了下,深刻理解了,估计不会再忘记了,呵呵。好了,言归正传。上下界网络流的话这篇博客写的很不错的,介绍了怎么建图,怎么求解。然后这篇就是更加的数学化,理论化一点,不过也很好理解的额嗯,然后就站在巨人的肩膀上,总结一下。上下界网络流的问原创 2013-03-13 15:42:15 · 3116 阅读 · 1 评论 -
二分图最大匹配 输出字典序最小的方案 poj 3715
http://poj.org/problem?id=3715暴力也可以水过:先求最大匹配,然后从小到大枚举点去掉,重新求最大匹配,如果最大匹配数减少了,则这个点可以去掉。比较好的做法应该是充分利用二分匹配匈牙利算法的性质,如果去掉一个点之后从这个点匹配的那个点出发找不到增广路,就可以将这个点删除,这样子做就不用每次都求全局最大匹配了,赞一个。。 #include#includeco原创 2013-01-16 21:16:01 · 1815 阅读 · 0 评论 -
Codeforces Round #163 (Div. 2)(完全)
这场比赛大概是我做CF以来最难的一场div2了D题搞了很久,还是没搞出来,C题题目没看仔细,E题做过类似的,但显然我这种div2选手很少在比赛搞E题,不过现在已经渐渐消除了对后面两题的恐惧、C.Below the Diagonal给你一个0 1 方阵,题目说有n-1个1,然后一次操作可以交换两行或者两列,然后要求输出一种交换的方案使得所有的1都在主对角线以下。可以暴力两原创 2013-01-24 15:43:10 · 3240 阅读 · 2 评论 -
codeforces 223E 计算几何 图论 网络流思想
http://codeforces.com/problemset/problem/223/E题意: 给你一堆坐标点,然后告诉你他们之间的连接情况,所有的边都是双向的,并且图是连通的。边数,点数都是10w级别然后开始询问,每个询问是输入图中某个多边形的所有顶点,然后问你这个多边形内部一共有几个点(包括边界上的点)题解在这里http://codeforces.com/blog/entr原创 2012-09-25 13:03:05 · 1382 阅读 · 0 评论 -
light oj 1257 树的直径
以前写过一个证明,直接贴过来吧主要是利用了反证法:假设 s-t这条路径为树的直径,或者称为树上的最长路现有结论,从任意一点u出发搜到的最远的点一定是s、t中的一点,然后在从这个最远点开始搜,就可以搜到另一个最长路的端点,即用两遍广搜就可以找出树的最长路证明:1 设u为s-t路径上的一点,结论显然成立,否则设搜到的最远点为T则dis(u,T)原创 2012-08-11 16:26:57 · 1965 阅读 · 0 评论 -
light oj 1128 倍增法LCA + DP
题意:一棵树,每个点都有一个点权,给你q个询问a b,求a到根节点的路径中点权大于等于b且最接近根节点的点编号刚开始想用树链剖分搞,后来听说用倍增+DP也行做法:如果懂倍增法求祖先的方法的话,那么这个DP就能很快理解了,详情见代码dp[i][j]表示i到i的2^j祖先的路径上的点权的最大值那么在找的时候只需要log(n)的复杂度就可以找到最上面的点权大于等于b的啦#原创 2012-08-11 18:34:46 · 1933 阅读 · 0 评论 -
zoj 3408 GAO 最短路 DP 布斯乘法
链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3408如此霸气的题目 GAO!!!题意:给你一幅图,Q个询问,每个询问输入一个整数u,求经过u的最短路径的数量跟这道题类似,但突然发现dfs也蛮好写的- -。做法:经过某个点最短路径的数量为到这个点的最短路径的数量乘以从这个点出发的最短路径的数量,先原创 2012-08-10 19:22:32 · 3134 阅读 · 0 评论 -
zoj 3396 斯坦那树
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4004题意:给你一副图,求使得给定三个点连通的最小代价,大概就这样,具体看题目吧斯坦那树有一个结论:n个点的斯坦那树至少会经过n-2个中间节点,这里n=3,所以至少会经过一个中间节点,求出这三个点的单源最短路后枚举中间节点即可。把m写成n,WA了数遍,实在是太水了原创 2012-08-13 19:52:20 · 1145 阅读 · 0 评论 -
codeforces 208 E 时间戳 倍增法求LCA
链接:http://www.codeforces.com/problemset/problem/208/E题意:给你一个森林,m个询问:v,p求有多少个点(除v外) 与 v的第p个祖先相同这个题首先要解决找某个点的第p个祖先的问题,可以采用倍增法记录一个二维数组p[u][i]表示u的第2^i个祖先,那么通过这个数组我们就可以知道u的上面任意深度(相对于u)祖先是谁(巧妙的利用二进制原创 2012-07-28 13:47:13 · 4081 阅读 · 1 评论 -
codeforces 208C 图的拓扑排序+简单DP
链接http://www.codeforces.com/problemset/problem/208/C题意:给你一幅图,每条边边权为1,要求你在某个位置建一个警察局,使得从1到n的所有最短路中与这个警察局有接触的边的条数最多ps:假如一条路径经过警察局,那么肯定会经过两条与警察局有关的边(起点、终点除外)解法:先对图求点对间的最短路,处理出新图,在新图中,所有从s到t的路径都原创 2012-07-28 14:19:15 · 2302 阅读 · 0 评论 -
hdu 4366 树形结构 线段树
http://acm.hdu.edu.cn/showproblem.php?pid=4366题意:给你一棵树,每个结点有两个属性值,1:能力值 2:忠诚度然后m个询问,每次询问一个整数u,求u的子树中能力值大于u的且忠诚度最大的点的编号做法:这种题还是老套路,将树形结构转换成线性结构,用数据结构来解决查询最值得问题。但这个题目有一个亮点就是限制了一个变量,要求另一个原创 2012-08-14 20:16:25 · 2041 阅读 · 4 评论 -
codeforces 117C 拓扑排序 找三元环
http://www.codeforces.com/problemset/problem/117/C昨天多校联合的题,有人发现在cf上也有,于是立刻去水水。此题可以一遍拓扑排序判环求解 即只需要找到一个环,就必定存在三元环 证明如下: 假设存在一个n元环,因为a->b有边,b->a必定没边,反之也成立 所以假设有环上三个相邻的点a-> b-> c,那么如果c->a间有边,就已经形成了一原创 2012-08-01 15:41:05 · 3191 阅读 · 0 评论 -
查询树的路径上边权的极值的简便方法
这种题我都是用树链剖分做的,没想到还有这么简单的方法,ORZ一下!转自:http://blog.sina.com.cn/s/blog_51cea4040100ss3n.html给出一棵树,每条边有一边权。对于任意给定的两点,求,此两点的最短路径上,边权的最大值。 对于下图:蓝圈中任意一点与红圈中任意一点的路径上的最大边必定转载 2012-08-15 18:36:20 · 2091 阅读 · 0 评论 -
zoj 3649 lca 倍增 DP
下课后直接奔实验室,月赛都快结束了,我擦,随便挑了一道题开始搞起来,是我喜欢的图论,心里暗暗欣喜,可是还是有点绕人,比赛结束刚好敲完,吃晚饭后,调了调,AC,呵呵比赛的时候A的貌似很少,其实也不太难链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3649下面是我做过的倍增法求LCA以及倍增的DP的两个练习题原创 2012-09-29 21:39:02 · 2015 阅读 · 0 评论 -
codeforces 192E Fools and Roads
给你一棵树,然后有m个操作,每个操作有两个数 a b,表示给从a到b的简单路径上的边权都加1,最后要你输出每条边的边权解法1:dfs用树链剖分做的话就是很裸的题目了,但是这道题没有让你对路径上的边权进行求和等操作,只是要你在最后输出每条边的边权,所以有一种更加简便的方法对于一个操作 a b 我们只需用个cnt数组标记一下cnt[a]++ cnt[b]++ cnt[lca(a原创 2012-10-01 15:51:34 · 1489 阅读 · 0 评论 -
2012 成都网络赛小记
一直想以优质的文章回馈互联网,无奈本菜太弱,只得修炼一段时日再一类类的总结好了,废话不多说,今天的网络赛状态还好,只是有点小遗憾,DP太弱了1001:一看就是裸的线段树,然后回想一下省赛的题,区间记录5个域,然后再记录下区间总共有几个数,信息上传的时候注意下取模即可1002:转换一下模型其实就是拆点后求S 到 T 的最小切割,因为S出发到T一定会经过这些割边,要求最小的就是最小割啦原创 2012-09-16 19:17:36 · 4759 阅读 · 2 评论 -
强连通分量的Kosaraju算法
http://edward-mj.com/archives/455dfs真是神奇,大师们利用简简单单的深搜搞出了不知道多少神奇的图论算法。。图论问题就得往树的方向想,改天得好好做一些跟树相关的题目了。我在扯什么啊。。。/////////////////////////////////////////////////////////////////////算法的步骤是:1:先原创 2013-12-29 22:44:25 · 1559 阅读 · 0 评论