自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 划分树

原文传说中的划分树,只闻其名未见其身。然后搜索了一下划分树的资料,擦擦擦,这不就是同快排的原理+线段树的操作,两者一融合进化成了划分树么。前面两个都会,学习起来倍感轻松。建树过程: 先对区间[1,n]内所有元素进行排序,未排序之前的数列赋值给线段树的第一层元素(tree[0][i]),然后就是同快排的原理以排序后中间元素为参 照,小于它的放在树下一层的左边,大于它的放在树...

2015-08-24 23:18:00 142

转载 POJ 模拟题集合

http://www.cppblog.com/Uriel/articles/101592.html感觉这个暑假没有去年有激情啊,,,还没到状态就已经块上学了,,,真是弱暴了,,,找几道模拟题刷刷。。。标加号表示已AC。。。+ 1008 历法,不难+ 1102 不难。+ 1028 纯模拟。被题目坑了一下。。1023 貌似...

2015-08-13 21:29:00 202

转载 混合图的欧拉回路判定

  对于有向图和无向图的欧拉回路判定,很容易做到.那对于混合图呢??  混合图就是图中既存在无向边又存在有向边的图.  至于解法: 转载自这里  把该图的无向边随便定向,计算每个点的入度和出度。如果有某个点出入度之差为奇数,那么肯定不存在欧拉回路。因为欧拉回路要求每点入度 = 出度,也就是总度数为偶数,存在奇数度点必不能有欧拉回路。   好了,现在每个点入度和出度...

2015-05-11 23:13:00 161

转载 差分约束系统

训练地址先总结下: 第一:感觉难点在于建图第二:①:对于差分不等式,a - b <= c ,建一条 b 到 a 的权值为 c 的边,求的是最短路,得到的是最大值②:对于不等式 a - b >= c ,建一条 b 到 a 的权值为 c 的边,求的是最长路,得到的是最小值③:存在负环的话是无解④:求不出最短路(dist[ ]没有得...

2015-05-07 19:24:00 91

转载 vim 配置

"" Author: Tianql" System: Ubuntu15.x" Date: 2015/4/24"set fileencoding=utf-8set encoding=utf-8"filetype on"filetype plugin on"filetype indent onfiletype plugin indent o...

2015-04-24 22:21:00 70

转载 最大权森林

 http://poj.org/problem?id=3723分析:因为,图可能不连通,求所有最大生成树的总和最大,即最大权森林。prime算法会超内存。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define _Cl...

2015-04-20 23:53:00 166

转载 求无向图的简单最大环

以poj3895为例: 思想很简单,就是有dfs遍历图并且用一个数组记录所走的长度。当来到一个点是已经访问过的,则肯定形成一个环,更新环的长度,直到所有点访问完为止。代码: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define ...

2015-04-20 16:29:00 1706

转载 KM算法专题

  原文:http://972169909-qq-com.iteye.com/blog/1184514  题目地址:这里。 1)求图中所有环的总长度(环的长度不唯一)的最小值。当无法得到完备匹配时说明环不存在。  第三题:http://acm.hdu.edu.cn/showproblem.php?pid=1853  直接建图,注意有重边哦!  if (-c...

2015-04-18 22:44:00 206

转载 关于生成树

  基本概念:  树:如果一个无向连通图G中不存在回路,则称图G是一颗树。  生成树:无向连通图G的一个子图如果是一颗包含了G中所有顶点的树,则称它为图G的生成树。注意:生成树是图G的极小连通子图,表示在若在图中任添加一条边都将形成一个回路,同样的,若任意去掉一条边都将使图不在连通。  如果在边中加上权值,那么权值最小的生成树即为最小生成树,权值最大的生成树为最大生...

2015-04-16 23:40:00 306

转载 堆的概念及实现

1.概述:  堆的概念:堆是一种完全二叉树,其高度为log(n),可以用一维数组来实现。堆中存储的数据是局部有序的。可分为两种堆:最大顶堆和最小顶堆。  最大顶堆:任意一个结点的值都大于等于其任意一个子结点的值。  最小顶堆:任意一个结点的值都小于等于其任意一个子结点的值。可以发现,堆的罗辑结构是树状结构,而存储结构是线性结构,因此,堆常用来实现优先队列。还可又来堆...

2015-04-09 15:24:00 204

转载 Floyd最小环

本文转自这里  最小环:从一个点出发,经过一条简单路径回到起点成为环.图的最小环就是所有环中长度最小的.  怎样求最小环呢?  1传统的解决方法(dijkstra): 任意一个最小环环的权值,我们都可以看成两个有边相连的结点i、j的直接距离加上i、j间不包含边(边i->j)的最短路径。求最短路径我们第一个想到的就Dijkstr...

2015-04-01 14:01:00 95

转载 有向环覆盖问题

转载自这里   给你一个N个顶点M条边的带权有向图,要你把该图分成一个或多个不相交的有向环。且所有定点都被有向环覆盖。问你该有向环所有权值的总和最小是多少?  答案就是:有向环最大权值覆盖=最优匹配。  如果,改为无向图,问你无向环最大权值覆盖?答案也是一样的。只是在建图的时候把有向改为无向即可。分析:   我们把任意一个顶点i都分成两个,即i和i’. ...

2015-03-30 22:54:00 306

转载 KM算法

  原文转载自大牛,略有改动    KM算法是用来求完备匹配下的最大权匹配:在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接<Xi,Yj>有权Wij,求一种匹配使得所有Wij的和最大-------即最佳匹配。  记 L(x) 表示结点 x 的标记量,如果对于二部图中的任何边<x,y>,都有 L(x)+ L(y)>= Wx,...

2015-03-29 18:58:00 155

转载 归并排序

 本文转载自白话经典算法   归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。  首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。...

2015-03-29 14:34:00 87

转载 树状数组

  原文:http://www.cnblogs.com/ws5167/p/3903970.html  树状数组主要用于快速的更改某个点的值和查询某个区间的和,是一种比较小巧的数据结构.先看下图:        假设数组A[]是我们要操作的对象,则数组C[]则是数组A[]相对应的树状数组.观察上图,我们得到数组C[]前八个值:  C[1]=A[1]  C[2]=A...

2015-03-28 23:33:00 72

转载 构造强连通图

    我们知道,要把一个非边双连通图构造成一个边双连通图,只需把这个图化简(边双连通分量缩点)成一个树,然后 找出叶子节点个数leaf,(leaf+1)/2就是要新添加的边数。  现在,对与有向图来说,我们需要求加最少的边,使得一个非强连通图变成一个强连通图,最少的边数是多少?  同样的,我们需要把他化简(强连通分量缩点)成一个DAG图(有向无环图),然后找出入度为0...

2015-03-28 16:17:00 371

转载 图的单向连通

poj 2762  题意:任给一个图,问你对于任意的两个点x,y之间是否存在从x到y或从y到x的路径?  分析:这显然是要求图是否为单向连通图?我们可以对强连通分量进行缩点,缩点后的图一定是一个有向无环图; 现在,问题等价于给你一个有向无环图,问你它是否为单向连通图。这样,我们就可以对有向无环图进行拓扑排序,当且仅当得到的拓扑序列中任意相邻两点间边连通,即topo[i]--...

2015-03-28 13:05:00 801

转载 poj 2186

  首先,强连通分量可以缩点,所有缩点后的图一定是一个有向无环图,出度为0的点受其他出度不为0的点的仰慕.因为要求的是受其他所有点仰慕的点的个数(强连通内互相仰慕),所以,当只有一个出度为0的点时,输出它所在的强连通分量的顶点个数就是答案.   1 #include<cstdio> 2 #include<cstring> 3 #...

2015-03-27 23:44:00 108

转载 无向图边双连通分量+构造双连通图

  边双连通分量:边连通度大于1的连通分量  在树中至少添加多少边能使得图变为边双连通图 ?添加的边=(叶子节点+1)/2.   在一个无向图中,我们可以把它的边双连通分量缩成一个点,然后一定会得到一颗树,然后按上述方法求叶节点即可。   1 #include<cstdio> 2 #include<cstring> ...

2015-03-26 23:57:00 317

转载 无向图的割边

    割边:若在连通图中删除某条边,图不再连通,则删除的边为割边。  根据low[i],和dfn[i]的n定义,我们知道,若(u,v)是生成树的一条边,且low[v] > dfn[u],则(u,v)为割边------桥。    zoj 2588 题意:给n个顶点,m条边, 可能有重边。问你图中有几个桥?并按顺序输出桥的编号。#include<...

2015-03-26 15:31:00 251

转载 无向图的顶点连通度

  无向图的顶点连通度需要用到网络流来求,并且有以下定理;Mengerg定理: 无向图的顶点连通度K和顶点间的最大独立轨数目之间存在如下关系:① 当图为完全图时: k=V-1  (V表示图中顶点数)② 当图为非完全图h时: K=min{ P(A, B) | 任意不相邻的顶点AB }注意:如果AB相邻的话,那么删除图中所有其他的点后,AB任然连通,故强调不相邻。...

2015-03-25 18:31:00 2788

转载 memcmp()直接比较两个数组的大小

  两个字符数组可以用strcmp()比较大小。两个整数数组也有个函数memcmp()可以比较大小,和strcmp()的返回值一样的。  头文件#include<cstring> / #include<string.h>  函数原型:int memcmp(const void *s1, const void *s2, size_t n);  字符...

2015-03-19 15:52:00 1945

转载 静态字典树

      动态字典树每次都要new一个内存来操作,所以耗时也是较多的;所以我们可以先一次性开辟出足够的空间,然后模拟动态字典树的创建查找过程来写出相应的静态字典树。代码都差不多,主要是你得先学会了动态字典树;接下来的事情就是模拟了,,,模拟,,模拟。结构定义:struct Trie{ int next[26]; int cnt; ...

2015-03-13 14:41:00 129

转载 动态字典树

本文转自于:http://www.cnblogs.com/tanky_woo/archive/2010/09/24/1833717.html代码部分有改动。  字典树:  又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公...

2015-03-12 20:45:00 128

转载 poj 1149

   1 #include <cstdio> 2 #include <cstring> 3 #include <queue> 4 #define _clr(x, y) memset(x, y, sizeof(x)) 5 #define Min(x, y) (x < y ? x : y) 6 #defi...

2015-03-03 17:16:00 75

转载 poj 2112 floyd+Dinic最大流+二分最小值

  题目大意是:    K台挤奶机器,C头牛,K不超过30,C不超过200,每台挤奶机器最多可以为M台牛工作,给出这些牛和机器之间,牛和牛之间,机器与机器之间的距离,在保证让最多的牛都有机器挤奶的情况下,给出其中距离最长的一头牛移动距离的最小值。  首先用Floyd求出任意两点之间的最短距离,然后再用二分法限定最多的移动距离d,在求最大流时,搜索增广路的时候同时也判断距离有没有超...

2015-02-23 01:31:00 104

转载 POJ 1698 (二分图的多重匹配)

转载:http://www.cppblog.com/MatoNo1/archive/2011/03/26/142766.aspx  我们知道在一个图中,每个点最多只能匹配一条边的情况,是二分图的最大匹配问题.然而还有种情况是:每个点可以匹配多条边,但有上限,假设为L.即Li表示最多点i可以和Li条边相关联.二分图多重最大匹配:1.建立一个源点S和汇点T.2.S指向x...

2015-02-22 01:24:00 106

转载 网络流OJ题集锦!!!

最大流POJ 1273 Drainage DitchesPOJ 1274 The Perfect Stall (二分图匹配)POJ 1698 Alice's ChancePOJ 1459 Power NetworkPOJ 2112 Optimal Milking (二分)POJ 2455 Secret Milking Machine (二分)POJ 3189 Ste...

2015-02-19 22:25:00 163

转载 网络流算法

标号法过程为:(1) 先将 flag、 prev 和 alpha 这 3 个数组各元素都初始化-1 。(2) 将源点初始化为已标号未检查顶点,即 flag[0] = 0, prev[0] = 0, alpha[0] = INF, INF 表示无穷大;并将源点入队列。(3) 当队列非空并且汇点没有标号,从队列头取出队列头顶点,设这个顶点为 v, v 肯定是已标号未检查顶点;因此...

2015-02-13 00:54:00 88

转载 平面分割问题

    1.n条直线最多能将一个平面分割成多少个区域?用F(n)来表示。  n-1条直线能将平面分割成F(n-1)个平面。若要第n条直线分割出的平面数最多,则第n条直线应和n-1条直线都相交,且不能相交于一点。那么就会产生n-1个交点,第n条直线被n-1条直线分割成n-2条线段和2条射线。他们(线段、射线)各自将经过的区域一分为二。故增加了n-2+2个区域。  所以有公式:...

2015-01-11 20:22:00 195

转载 递推专题笔记

  递推说白了就是找规律,然后写出他的递推方程,有的还可以写出通项公式,然后准确预测出第n项的值。因为这种规律存在着前因后果的关系,即是说,后一项的结果往往和前一项或前几项有着某种联系。这种联系不仅仅存在于数字之中,世间万物亦是如此。  由于,递推是深入理解动态规划的基础,就我目前的水平,看到动态规划就如看到tiger一般,完全不知所以,所以为了找回在动态规划前的自信,我打算在...

2015-01-11 18:38:00 109

转载 斐波那契数列笔记

  在中学时,我们就知道斐波那契数列是个很神奇的数列,在自然,生物,数学中都能找到他的影子,现在本人总结一下我关于斐波那契数列知识的例题。  斐波那契数列公式:      因为(1-sqrt(5))/2的绝对值小于1所以当i较大的时候,往往可以忽略掉这一项,f(n)≈((1+Sqrt(5))/2)^n/sqrt(5);斐波那契数列性质:  1.斐波那契...

2015-01-10 23:47:00 313

转载 矩阵例题

  根据公式可以直接推得:S(n) =S(n-1)+F(n)                =S(n-1)+3*F(n-1)+2*F(n-2)+7*F(n-3)  由公式可知:S(n)的值由S(n-1)和F(n)的值推得,而F(n)=3*F(n-1)+2*F(n-2)+7*F(n-3);所以在构造矩阵的时候要体现出S(n)和F(n)递推的过程。构造矩阵如下:...

2015-01-09 23:47:00 180

转载 等比数列、矩阵二分求和

  对于式子的值,我们若直接算出等比数列的和再模上M,那么中间结果可能会溢出。对于这个问题,我们可以用二分求和来做,这样一来,它的中间结果每次都在模M,任何时候都不会有溢出的危险。对上述式子进行如下化简:根据,以上化简的结果,我们可以得出递归的代码: 1 #include <cstdio> 2 #include <cstring&gt...

2015-01-06 18:52:00 134

转载 矩阵乘法的应用

  我们都知道矩阵可以用来很方便的求多个方程组,但矩阵的作用不单单只用来求方程组。下面记录一下本人对矩阵应用的一点点了解,还有很多应用看不懂,以后看懂了会在此处慢慢更新。  1.化简递推类问题。    比如,我们现在要求第N项Fiboncci值模上一个p的结果是多少?  2.给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p...

2015-01-06 17:19:00 151

转载 Python初学

  经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把。  它还被俗称为胶水语言,就是能够把其他语言结合在一起。它自己介绍的特点:慢。简洁。  其实,在刚开始学的时候,因为和C语言语法的很大差别,搞的我很不习惯,非常的不爽。C的代码块都是用{...

2014-12-31 20:48:00 102

转载 整数王国的传说

本文系转载:http://www.ituring.com.cn/article/131613一、混乱之初一开始 K 是整数王国的国王。整个国家还算太平。后来出现了一个叫做 M 的家伙,比所有人有强壮,他把 K 给揍扁了,自己当了国王。于是整个国家出现了混乱,弱肉强食:100杀死了99,98又和10合力杀死了100,……混乱情况持续了一年,整数王国的臣民不断减...

2014-12-22 13:43:00 146

转载 x^2+y^2=N的整数解?

  本文系转载:http://blog.sina.com.cn/s/blog_a661ecd50101cv41.html  我们先研究这个问题的一部分:哪些素数是两平方数之和?为什么我们先研究素数,有个很重要的原因是:若两个正整数都是两平方数之和,那么它们的乘积也是两平方数之和。道理很简单,设两个正整数分别为 a^2+b^2 和 c^2+d^2 ,那么有 当然我们...

2014-12-16 16:57:00 1390

转载 最大上升序列和

  一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ...,aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1 <= i1 < i2 < ... < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有...

2014-12-14 18:41:00 135

转载 最大连续子序列的和

  给你一段包含负数的序列,问你这段序列的最大和是多少?并且打印出最大和区间?例如假设有两个序列如下:  5: 6 -1 5 4 -7   7: 0 6 -1 1 -6 7 -5  很容易看出第一个包含5个元素的序列的最大和是14.区间从1到4.第二个最大和是7,区间可以有两个,从1到6或则从6到6.    这是DP的一个经典问题,我们用sum来表示从tp到i的...

2014-12-14 17:28:00 71

空空如也

空空如也

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

TA关注的人

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