自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Vision

平凡,是为了最美的荡气回肠!

  • 博客(22)
  • 收藏
  • 关注

原创 HDU - 4455 (DP)

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4455XXX has an array of length n. XXX wants to know that, for a given w, what is the sum of the distinct elements’ number in all substrings of lengt

2017-10-23 21:31:12 1165

原创 HDU - 4495 (字符串哈希+二分+DP)

传送门:点击打开链接Given a rectangle which contains N rows and each of them contains a string length of M. You must find out a symmetrical isosceles right triangle (with two equal edges and a right ang

2017-10-23 13:33:44 495

原创 Vision_数据结构_线段树

///定义:/*    线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以免越界,因此有时需要离散化让空间压缩。*////代码:/***name:一维线段树*

2017-10-19 15:26:45 370

原创 Vision_MATH_高精度

/***name:高精度**function:大数运算**题意:求n的阶乘*/#includeusing namespace std;struct BigInt{ const static int mod = 10000; const static int DLEN = 4; int a[10000],len; BigInt() {

2017-10-19 15:05:21 235

原创 Vision_MATH_三分查找

///定义:/*    在二分查找的基础上,在右区间(或左区间)再进行一次二分,这样的查找算法称为三分查找,也就是三分法。三分查找通常用来迅速确定最值。*////代码:/***name:三分查找**function:凸性函数中找最值*/int SanFen(int l,int r){///找凸点 while(l<r-1){ int m

2017-10-19 14:26:23 315

原创 Vision_MATH_逆元

///定义:/*    逆元素是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数。在这里指的是模数运算中的逆元即:a/b%c=a*(b的逆元)%c*////代码:/***name:扩展欧几里得求逆元**function:求逆元**输入参数:a**输出参数:a的逆元**推导过程:a*x ≡ 1 (mod p),其中x就是

2017-10-19 14:08:33 280

原创 Vision_MATH_快速幂||矩阵快速幂

///定义:/*    快速幂就是快速算底数的n次幂。其时间复杂度为 O(logN), 与朴素的O(N)相比效率有了极大的提高。    也就是求A^B%mod的值,其中A可以是数字也可以是矩阵(矩阵快速幂)*////代码:/***name:快速幂**function:求解a^b%mod的值(mod*mod不会爆long long的情况)**输入参数:a,b,m

2017-10-19 13:44:45 340

原创 Vision_MATH_中国剩余定理

///定义:/*    中国剩余定理给出了以下的一元线性同余方程组:    x ≡ a1 (mod m1)    x ≡ a2 (mod m2)    x ≡ a3 (mod m3)    x ≡ a4 (mod m4)        *        *        *    x ≡ ak (mod mk)*////代码:/***n

2017-10-17 14:02:02 339

原创 Vision_MATH_(扩展)欧几里得

///定义:/*    扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) =d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。*////代码:/***name:欧几里得算法(辗转相除法)**functuion:求gcd(a,b)*/int gcd(int a,int

2017-10-16 13:18:54 264

原创 Vision_数据结构_并查集

///定义:/*    并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。    集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。*////代码:/***name:并查集**function:合并查找分类(连通分量的个数)*/#includeu

2017-10-16 12:38:29 295

原创 Vision_MATH_SG函数

///定义:/*    概念:给定一个有向无环图和一个起始顶点上的一枚棋子,两名选手交替的将这枚棋子沿有向边进行移动,无法移 动者判负。事实上,这个游戏可以认为是所有Impartial Combinatorial Games的抽象模型。也就是说,任何一个ICG都可以通过把每个局面看成一个顶点,对每个局面和它的子局面连一条有向边来抽象成这个“有向图游戏”。下 面我们就在有向无环图

2017-10-13 21:37:48 302

原创 Vision_字符串_字符串哈希(BKDR Hash)

///定义:/*        将一个字符串哈希成一个数值,使得这些数值的冲突尽量的小。    最直白的是sum = s[0] + s[1] + ... + s[len],其中sum就是s的哈希值。*////代码:/***name:BKDR Hash**来源:官方模板*/unsigned int BKDRHash(char *str){ unsigned i

2017-10-10 11:01:41 464

原创 Vision_字符串_KMP

///定义:/*        KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和    V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP    算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹    配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含 

2017-10-10 10:21:21 270

原创 HDU - 4416 ——Good Article Good sentence (后缀树组)

传送门:http://acm.split.hdu.edu.cn/showproblem.php?pid=4416In middle school, teachers used to encourage us to pick up pretty sentences so that we could apply those sentences in our own articles. On

2017-10-09 19:24:31 533

原创 Vision_字符串_AC自动机

///定义:/*    (1)AC自动机简介:        首先简要介绍一下AC自动机:Aho-Corasick automation,    该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。    一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,    让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有字    典树Trie和K

2017-10-07 12:40:03 493

原创 Vision_数据结构_拓扑排序

///定义:/*        对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,    是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边    (u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称    为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,   

2017-10-07 11:54:15 282

原创 Vision_数据结构_舞蹈连

///定义(ctrl+c):/*    (1)历史:       X算法是高德纳提出的解决精确覆盖问题的算法,而dancing links X算法则是DonKnuth(《计算机程序设计艺术》         的作者)提出的对X算法的一种高效实现,这种实现建立在如上所说的矩阵表示法上。    (2)算法思想:        由如上精确覆盖问题的矩阵表示法中,我们知道d

2017-10-06 16:02:57 335

原创 Vision_MATH_Lucas定理及扩展

///定义:/*    Lucas定理:        (1)求解C(n,m)%p, n和m是非负整数,p是质数.        (2)结论1. Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p);        (3)结论2. 把n写成p进制a[n]a[n-1]a[n-2]...a[0],把m写成p进制b[n]b[n-1]b[n-2]...b[0

2017-10-06 13:03:23 252

原创 Vision_MATH_球盒问题+第二类Stirling数

///定义:/*    排列组合解决球盒的八大问题,其中用到排列组合公式和第二类斯特林公式*////代码:/***name:第二类斯特林数(第二类Stirling数)**function:解决求不同盒同等问题**公式: S(r, c) = S(r-1,c-1) + c * S(r-1, c)*/#include #include #include #in

2017-10-05 14:54:11 487

原创 Vision_字符串_最小(大)表示法

///定义:/*    求解问题:n个字符串围成一个环,请从这个环中找出字典序最大(或最小)的长度为n的字符串(下标尽可能小)*////代码:/***name:最小表示法**function:求解循环字符串的最小字典序串**输入参数:字符串+字符串长度**输出参数:从某下标开始所得到的串字典序最小&&下标最小**复杂度:O(n)*/#include#incl

2017-10-05 13:53:30 281

原创 Vision_字符串_后缀数组

后缀数组

2017-10-05 13:14:20 448

原创 Vision_数据结构_RMQ

///定义:/*        RMQ算法,是一个快速求区间最值的离线算法,    预处理时间复杂度O(n*log(n)),查询O(1),所以是一个很快速的算法,    当然这个问题用线段树同样能够解决。*////代码:/***name:RMQ**function:求区间最值**输入参数:区间左右边界**输出参数:返回最值**复杂度:O(n*

2017-10-02 11:21:50 243

空空如也

空空如也

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

TA关注的人

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