- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 poj 2406 poj 1961 个人对吉大KMP模板的理解 KMP 基础题--找周期串
好佩服写kmp代码的人... 看死了终于看得有点明白了......学kmp先看两个比较好的总结一是大牛matrix67的 http://www.matrix67.com/blog/archives/115/另一个是 http://www.cppblog.com/oosky/archive/2006/07/06/9486.html这两个讲解非常好摘一句我认为最重要的话
2013-08-27 12:49:17 1541
原创 hdu 4619 匈牙利算法 求最大匹配 2013 Multi-University Training Contest 2
http://acm.hdu.edu.cn/showproblem.php?pid=4619当时我不会匈牙利,我的傻X队友不会建图,当时没做出,现在会了匈牙利,这题就成了水题。15ms AC首先明确理解二分图匹配:给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配.选择这样的边数最大的子集称为图的最大匹配问
2013-08-26 16:27:15 1073
原创 poj 1469 zoj 1140 二部图模板题
http://poj.org/problem?id=1469水题,直接套模版,注意学生可以见习0门课程,所以必须p匹配n而不是n匹配p。检查匹配数是不是p即可。还有一点,今天才发现,二部图 建图的时候,具体#include#include#includeusing namespace std;#define N 305int p,n;int mat[N][N];in
2013-08-26 12:41:46 1117
原创 poj 2528 离散化+线段树 hdu 1698 线段树 线段树题目类型一:染色计数 外加离散化
第一次听到离散化是今年省赛的时候,一道矩形并的题,很水,就两个矩形...今天再去做线段树已经发现离散化忘得差不多了...水逼的悲哀啊...先看简单点的hdu 1698http://acm.hdu.edu.cn/showproblem.php?pid=1698先做这个水题,在做poj 2528,当然poj 2528也很水一、建树把hook作为线段建树,近乎直接套线段树的模
2013-08-25 20:35:09 1200
原创 对Tarjan的理解(详) poj 2186 缩点+Tarjan
题目链接:http://poj.org/problem?id=2186一、多日不写图论,链式前向星都写错 for(i=0;i<m;i++) { scanf("%d%d",&u,&v); addEdge(u-1,v-1,i);/*此处如果addEdge(u,v,i),后面的addEdge(u-1,v-1,i
2013-08-24 19:36:30 2028 5
原创 从StL vector 查找一个元素或者判断一个元素是不是存在的方法
find(item)如果有item,返回item的地址如果没有item, 函数找的是结尾元素的下一个#include#include#include#includeusing namespace std;vectorst;int main(){ for(int i=0;i
2013-08-17 00:56:23 6519 1
原创 hdu 1505 hdu 1506 hdu 2870 综合解答
1505,1506一类题,1505套用1506即可就像最大子阵和与最大连续子和的关系回顾最大连续子序列状态方程:sum[i]=max(sum[i-1]+a[i],a[i]);最后从头到尾扫一边Sum[i]为以i结尾的最大连续子和 也可以写成: Max=a[0]; Current=0;
2013-08-16 23:52:10 982
原创 vector表示十字链表+Tarjan+缩点+拓扑排序 详解 poj 2762
题目链接:http://poj.org/problem?id=2762做法:1、把强连通分量缩点2、缩点后的图拓扑排序,这里可知拓扑排序的一个作用:判断是不是任意两个点A,B之间都有办法从A到B注释比较详细,面贴代码:#include#include#include#includeusing namespace std;#define Max 1010int n,
2013-08-16 21:26:56 1439
原创 求割点详解 以poj1523为例
一、概念 割点(关节点) 生成树的边,回边,交叉边Dfn[]:深度优先数,根节点为1Low[u]:从u或u的子孙出发童工回边可以到达的最低深度优先数,求法:low[u]=Min{dfn[u],Min{low[w]|w是u的一个子女},Min{dfn[v]|v与u邻接,且(u,v)是一条回边}}区分w是u的子女还是(w,u)是回边的方法:dfs
2013-08-14 14:53:03 1230
原创 HDU 4651 广义五边形数+分割函数
http://zh.wikipedia.org/wiki/%E6%95%B4%E6%95%B8%E5%88%86%E6%8B%86http://zh.wikipedia.org/wiki/%E5%BB%A3%E7%BE%A9%E4%BA%94%E9%82%8A%E5%BD%A2%E6%95%B8由这两个,学到两个公式,然后就可以直接做了一、广义五边形数Qn为(3*n*n
2013-08-07 17:23:01 1244
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人