自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 组合数取模

组合数取模及Lucas定理引入:组合数C(m,n)表示在m个不同的元素中取出n个元素(不要求有序),产生的方案数。定义式:C(m,n)=m!/(n!*(m-n)!)(并不会使用LaTex QAQ)。根据题目中对组合数的需要,有不同的计算方法。(1)在模k的意义下求出C(i,j)(1≤j≤i≤n)共n2 (数量级)个组合数:运用一个数学上的组合恒等式(OI中称之为杨辉三角):C(m,n)=C(m-1...

2018-03-22 21:08:46 456

转载 乘法逆元学习

逆元【1】定义:逆元指在某种运算中,对一个数a进行逆运算可以等价为对一个数b进行原运算,此时称a与b互为逆元。本文中的逆元均指模算术中的乘法逆元,即对于一个数a,如果存在b满足a*b≡1(mod p),则称a与b在模p意义下互为逆元。由于同余的性质,我们在进行模算术除法时不能简单地除一个数,而应该乘该数的逆元。【2】求法:    (1)单点逆元        a*b≡1(mod p)等价于p|a*...

2018-03-22 21:04:12 623

原创 最短路径学习

【1】SPFA算法void spfa(){ memset(vis,0,sizeof(vis)); memset(dis,120,sizeof(dis)); queue<int>q; q.push(s); dis[s]=0,vis[s]=true; while(!q.empty()){ int u=q.front(); ...

2018-03-21 10:26:57 292

转载 最小生成树学习

    MST(Minimum Spanning Tree,最小生成树)问题有两种通用的解法,    ①Prim算法 ②Kruskal算法(一)Prim算法【算法理解】    它是从点的方面考虑构建一颗MST,大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;以此类推,现在的...

2018-03-21 10:09:39 197

转载 线段树总结

综述:         线段树可谓解决区间问题的神兵利器,其稳定的O(n*log(n))的优秀时间复杂度适应了OI和ACM竞赛的一般需求,而且代码简介,功能丰富,使用灵活。经过一段时间对线段树由浅入深的了解,笔者越发感受到这个数据结构的强大魅力。虽然有关介绍线段树的文章很多,其中不乏优秀作品,但是毕竟再好看也是别人的东西,只有消化吸收了才能为己所用。所以,笔者还是决定自己写一份关于线段树的总结,可...

2018-03-21 09:52:35 128

转载 一般图最大匹配——带花树算法

问题对于一个图G(V,E),它的匹配M是二元组(u,v)组成的集合,其中u,v∈V,(u,v)∈E,并且M中不存在重复的点。当|M|最大的时候,我们称M为G的最大匹配。当G是一个二分图的时候,它的最大匹配可以用经典的匈牙利算法或网络流算法求解。然而当G是一个一般的图时,直接进行增广就变得不可行了,例如下面这个例子(论文中的图):这个问题出现的原因,就是一个一般图中会含有奇环,即一个点数为2k+1,...

2018-03-21 09:48:58 518

转载 二分图最大匹配——匈牙利算法

匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?那么请看下面的版本:通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位光荣的新世纪媒人,在你的手上有N个剩男,M个剩女,每个人都可能对多名异性有好感...

2018-03-21 09:47:02 139

转载 tarjan算法学习

“tarjan陪伴强联通分量生成树完成后思路才闪光欧拉跑过的七桥古塘让你 心驰神往”----《膜你抄》一、tarjan求强连通分量1、什么是强连通分量?“有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个...

2018-03-21 09:44:22 168

原创 扩展欧几里得

定义:扩展欧几里得算法是用于解决一类形如求解a*x+b*y=c中(x,y),或者形如a*x≡b(mod c)中x的问题。引理(裴蜀定理):不定方程a*x+b*y=gcd(a,b)(x,y为变量)一定有无数个解。证明:先证明该方程有解。将欧几里得算法倒推上去。因为欧几里得算法总会结束,所以方程一定有解。设a=b*p+q(0<=q<b),则gcd(a,b)=gcd(b,q)。设b*x'+q...

2018-03-21 09:32:11 156

转载 AC自动机学习

   蒟蒻最近想学个AC自动机简直被网上的板子搞疯了,随便点开一个都是带指针的,然而平时用到指针的时候并不多,看到这些代码也完全是看不懂的状态。只好在大概理解后自己脑补(yy)了一下AC自动机的代码,居然还过了,这里对学到的东西做一点小小的总结。顺便造福一下跟我之前一样没有学过AC自动机并且不会用指针的Oier,给出一段不带指针的板子。【算法理解】    AC自动机的模型很好理解,就是在Trie树...

2018-03-21 09:27:46 143

原创 KMP算法学习

【算法理解】            这个程序的算法是相当“朴素”的:变量k是在字符串s中搜索t的起点,用指针i与j分别在s与t中扫描,逐一比较s[i]与t[j]是否相同。若遇到不相同的情况,则将起点k在s中后移一个字符,继续搜索。客观地讲,在两个字符串都不很长的情况下,这个算法的执行效率还是可以的。       但在某些特殊情况下,这个算法的效率问题就会显现出来,它最大的问题就在于:当出现s[i]...

2018-03-21 09:22:36 104

转载 平衡树Splay学习

Splay平衡树模板:变量声明:f[i]表示i的父结点,ch[i][0]表示i的左儿子,ch[i][1]表示i的右儿子,key[i]表示i的关键字(即结点i代表的那个数字),cnt[i]表示i结点的关键字出现的次数(相当于权值),size[i]表示包括i的这个子树的大小;sz为整棵树的大小,root为整棵树的根。再介绍几个基本操作:【clear操作】:将当前点的各项值都清0(用于删除之后)void...

2018-03-21 09:18:31 218

原创 01背包&完全背包

动态规划——背包01背包原始二维数组代码:#include using namespace std;int v[100000],w[10000];int a[1000];int main(){ int i,j,n,m; cin>>n>>m; for(i=0;i<m;i++)a[i]=0; for(i=1;i<=n;i++) cin>...

2017-03-07 20:17:10 215

转载 未来的12个趋势

未来12个趋势  今天,我非常高兴能够来到中国,尤其是来到深圳!深圳正在发生着翻天覆地的变化,我来这里不仅仅是给大家分享未来将会发生什么事情,更多的是要向大家学习,与大家共同探讨深圳将会发生什么。这里代表着未来,今天要重点谈谈我所认为的未来将发生的十二个趋势。  我所看到的十二个趋势,其实并不是什么新鲜的想法,因为过去20年中,这些都正在悄然发生,只是未来这些趋势将会更加明显,更加剧烈。这

2017-03-03 14:02:00 515

空空如也

空空如也

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

TA关注的人

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