自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 poj 2391 Ombrophobic Bovines (网络流)

这是一道很经典的网络流的题目。首先我们考虑假如我们的时间为无穷大。我们吧每个点拆成2个点 i和i' .。虚拟源点s和汇点t。对于每个点建边(s,i, a[i])  (i‘,t,ib[i]) 。 其中a[i]为给点有多少牛,b[i]为容量。i和j连通 建边 (i,j',inf);如果最大流==所有牛的个数,就可能装下所有的牛。那么现在我们考虑时间。假设最大时间为T.那么如果i到j的的最短时间>T,那

2015-02-04 11:36:48 575

原创 hdu 2586 树上点对最近距离 (lca)

,只要知道dis[i][j]=dis[i][root]+dis[j][root]-2*dis[Lca(i,j)][root].   其中root为树的根节点,LCA(i,j)为i,j的最近公共祖先。 所以我们先把所有的询问储存下来,然后离线直接查询。复杂度是o(n+q)的。VIE#include#include#include#include#include#include#inc

2015-02-03 15:59:59 696

原创 poj 1330 LCA 最近公共祖先

水题目。直接上代码了。VIEW CODE#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int mmax= 10010;const int mod=1

2015-02-03 15:07:00 596

原创 poj 1904 King's Quest 强连通分量

讲一下建图过程,题目给出了我们一组匹配match[i]  。对于这一组匹配好的解,我们建边 i->j,  对于能匹配但是不是题目给出的匹配的边,建边j->i;  那么对于一个son和一个gril,如果属于同一个强连通且能过匹配的就一定是满足条件的 。VIEW CODE#include#include#include#include#include#include#include

2015-02-03 11:33:54 760

原创 poj 3160 Father Christmas flymouse 强连通+dp

首先我们可以确定的是,对于val值小于0的节点都变成0.   假设一个集合内2个房间都能任意到达,那么我就可以吧集合内的所有点的价值都取到,并且可以达到任一点。实际上集合内的每个点是相同的,这样的集合就是一个强连通分量。 那么我们就可以用tarjin算法进行强连通缩点, 最后形成一个dag的图。在dag的图上面进行dp。可以先用拓扑排序后dp。或者建反响边记忆化搜索 。VIEW  CDDE

2015-02-02 19:17:24 572

原创 hdu 1269 强连通+并查集

这是一道典型的强连通的题目。  所谓强连通,就是对于一个有向图,若一个集合内任意2点都能过互相达,于是这个几何就是一个强连通分量。  对于任意图,都可以分解 人多个不相交的强连通集合。  对于这题目,只要用著名的tarjin算法对原图进行一次强连通缩点,若说有点都在一个强连通分量,就是yes, 否者no。  这里可以用并查集。VIEW CODE//#pragma comment(linker

2015-02-02 15:45:11 654

原创 acdream 1116 Gao the string!

分析:实际上,我们用next[i]表示 T[i-n] 和T[1-n]的最长公共前缀,那么a[i]=next[i] +next[i+1]...... +next[n];  最长公共前缀(lcp)有3种方法 : 扩展kmp  ,hash 和后缀数组 。方法一  :扩展kmp //#pragma comment(linker, "/STACK:102400000,102400000")

2015-01-30 19:43:25 821

原创 HDU 2767 强连通缩点

如A能证明B ,就建一条有向边A->B。对于一个能互相证明的一个集合,必然每个2个点都能相互到达,这样的一个集合就是一个强连通集合。我们可以把他们看成一个点,剩下的就是一个DAG图了。 如要都能相互到达,每个点必然出度 >=1, 入度>1 .。所以统计有多少没有入度的点和多少没有出度的点,他们中最大的就是需要添加的边了。VIEW CODE#include#include#include

2015-01-29 21:25:10 553

原创 POJ 3228 最小生成树的应用

要使得路径上边的最大值最小,实际上就是沿着最小生成树走,就满足条件。故先求出最小生成树,然后保存,在dfs一遍搜索路径。VIEW CODE//#pragma comment(linker, "/STACK:102400000,102400000")#include#include#include#include#include#include#include#inclu

2015-01-29 11:42:38 672

原创 UVA 11468 Ac自动机+dp

题目意思:给出k个模式串,然后随机生成一个长度为L字符串,每个字符被选中的概率为pi  。 问构造出来的字符串不包含任何模式串的概率。分析:显然这是一个模式串的母串的匹配,显然需要先构建一个AC自动机。我们用dp[i][j] 表示当前正在构造第i个字符,fail指针在j节点上能构造成功的概率。那么我们可以顺着fail指针向后面的状态。 注意只能扩展有效状态,也即不包含任何模式串的状态。 也即

2015-01-29 09:34:06 561

原创 2维线段树

#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int mod=99999997;const double eps=1e-8;const double pi

2015-01-28 11:28:26 478

原创 poj 2728(Desert King) 最优比例生成树 (分数规划)

这题是最小生成树的一种扩展,就是求一棵树  使得  最小。   其中cost 为每条边花费,len为长度。  这实际上就是一个最优比例生成树。最优比例生成树的求解使用了分数规划的方法。  我们先任取k,假设k是最小值,那么sigma(ccost)-k*sigma(len)==0  。那么我们就新建图边权 为  ccosti-k*leni  。求一次最小生成树,如果生成树权值小于0,那么书名其实

2015-01-28 11:03:07 972

原创 <图论算法之2分匹配> hdu 1281(棋盘游戏)

题意: 给一个n*m的棋盘,在上面放上车,放的车之间不能相互攻击(在同一行或者同一列就能相互攻击),并且只有某些点能放车。 问最多能放多少车,其中有多少个格子必须放才能放最多的车。这是一道很好的理解匈牙利算法的题目。  首先我们求最多放多少车,这是一个行列匹配问题。假设我们用n个左边的点代表行 ,m个右边的点放在右边,如果一个格子(x,y)能放车,那么将左边的x和右边的y连接一起建一条边。这个

2015-01-26 20:22:33 668

原创 hdu 2063 (过山车) 2分图匹配

最基础的2分匹配,如果女生i和男生j能一起,建边i->j.一次匈牙利算法即可。VIEW CODE#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int

2015-01-26 19:31:09 480

原创 Hdu 1350 (Taxi Cab Scheme) 有向图最小路径覆盖。

有向图的最小路径覆盖 = n -最大匹配。  这里的最大匹配是指吧原图一个点拆成2个点以后建图的最大匹配。VIEW CODE#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace s

2015-01-25 21:37:22 449

原创 hdu 4185 (Oil Skimming) 奇偶匹配

通过题意我们可以看出,一块地如果是油田,那么如果他要组成一块地,必须和周围的4块中的一块组成。那么可以得到,坐标和(i+j)是奇数的油田必须和坐标和为偶数的匹配才能组成一块地。那么我们可以把偶数油田看成是左边的点,奇数油田看成右边的点, 如果左边的点能和右边的点组成一块地 , 就建一条边 。 这样可以得到一个2分图。对2图求最大匹配,就是答案。  求2分匹配有2中方法 ,匈牙利算法和网络流算法。

2015-01-23 21:44:31 573

原创 poj 2164 (卷包裹算法)

取了个数组名_end[]  ,Re了一天, 都要哭了。。。。。_end[]  不能用。   view cod#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const

2015-01-21 16:06:31 634

原创 (2分+半平面交) Most Distant Point from the Sea UVALive 3890

题意,在大海的中央没有,有一个凸n边行的小岛。求出岛上离海上最远的距离。题解:假设在岛上有一个点距离海平面为k。   那么这些点实际上是离每条边距离为k的直线围成的面积。  所以可以直接2分+半平面角。#include#include#include#include#include#include#include#include#include#include#incl

2015-01-19 21:15:16 602

原创 凸包扫描 + 旋转卡壳 UVALive 4728

题意:给n个正方形,求正方形的顶点之间的最大距离。思路:可以确定的是最远距离的2个点一定在这些正方形的顶点的凸包上的2个点。所以先求一次凸包。 求凸包上2个点的最打距离,实际就是就凸包的直径,有成型的算法。可以用旋转卡壳直接求解。#include#include#include#include#include#include#include#include#include

2015-01-18 18:17:39 484

原创 uva 12304 2D Geometry 110 in 1! 计算几何

刚开始学计算几何。 写了一天。也积累了很多经验。向量旋转不要轻易用,主要是不知道是是顺时针旋转还是逆时针旋转,容易错误。#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespa

2015-01-15 16:10:28 498

原创 Codeforces Round #285 (Div. 1) problem B. Misha and Permutations Summation 康拓展开。

题目地址 http://codeforces.com/contest/504/problem/B      这道题目让我更深入的了解了康拓展开。以前只是在做8数码的时候接触了康拓展开了。在比赛的时候想到了康拓展开,但是不知道怎么逆展开,所以没做出来。先介绍一下康拓展开。康拓展开:把一个排列展开成如下形式:X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i

2015-01-14 16:16:13 577

原创 hdu 3400 3分 套 3分

题目地址 http://acm.hdu.edu.cn/showproblem.php?pid=3400    显然先3分AB  然后 3分CD  有一点注意的是   计算距离需要+eps  否者 wa#include#include#include#include#include#include#include#include#include#include#inclu

2015-01-09 16:22:10 555

原创 UVALive 3263 That Nice Euler Circuit 计算几何+欧拉定理

这是白书上面的原题,题意是求闭合的n条线段把平面分成了几个区域。 就是一个 欧拉定理 V+F-E=2   。 v是图的顶点数,F是图的面数,E是图的边数。·我自己在写的时候有一个地方跟费解的,我把每个节点都重复了算了一次,最后去重,结果是wa了。到现在还不清楚问什么。。。。。 反正都去了重的,重复一遍为什么错了。T_T。#include#include#include#i

2015-01-07 21:27:55 560

原创 最后一年 好好干!!

a搞cm的最后yin

2014-11-24 14:43:07 649

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除