-------------总结------------
文章平均质量分 67
丿残念灬
这个作者很懒,什么都没留下…
展开
-
总结--卡特兰数及卡特兰三角
卡特兰数:由n个X和n个Y组成一个序列,满足“所有前缀中Y出现的次数不能超过X出现的次数”的序列的个数卡特兰三角:由n个X和k个Y组成一个序列,满足“所有前缀中Y出现的次数-X出现的次数小于m”的序列的个数 参考链接:https://en.wikipedia.org/wiki/Catalan_number https://en.wikipedia.org/wiki/Ca...原创 2017-05-31 21:13:33 · 1045 阅读 · 0 评论 -
tarjan算法总结
概念(有向图中):1)在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通。2)如果有向图G的每两个顶点都强连通,则称G是一个强连通图。3)非强连通图有向图的极大强连通子图,称为强连通分量。tarjan算法:通过递归和栈操作,找强连通子图,并进行缩点设每个点的DFS序为dfn[u],当递归到第u个点,发现下一个点v已经被遍历过,且dfn[u]<dfn[v],这两个点一定在一个强连通...原创 2017-07-18 13:51:37 · 2117 阅读 · 0 评论 -
FFT总结及FFT在字符串匹配上的应用
一.简介FFT即快速傅里叶变换,常用来加速多项式乘法,由此也可以变形用来解决其它问题。二.多项式乘法首先来看多项式乘法的定义:设有2个多项式则C = A * B的第p项(从第0项开始)可以表示为:,C的项数为n+m。直接模拟多项式乘法的时间复杂度为O(nm),当n和m>10000时,肯定是不可取的。这里可以用到FFT加速这一过程(原理就不说明了),可以使时间复杂度达到O((n+m)log(n...原创 2018-04-24 10:44:07 · 5743 阅读 · 0 评论 -
LCA
求LCA(最近公共祖先)的算法有好多,按在线和离线分为在线算法和离线算法。离线算法有基于搜索的Tarjan算法较优,而在线算法则是基于dp的ST算法较优。本文讲述ST算法。这个算法是基于RMQ(区间最大最小值编号)的,而求LCA就是把树通过深搜得到一个序列,然后转化为求区间的最小编号。比如说给出这样一棵树。我们通过深搜可以得到这样一个序列:节点ver 1 3 1 2 5 7 5 6 5 2 4 2...转载 2017-07-12 00:34:06 · 346 阅读 · 0 评论 -
四边形不等式优化
当函数w(i,j)满足 w(a,c)+w(b,d)<=w(b,c)+w(a,d) 且a<=b<c<=d 时,我们称w(i,j)满足四边形不等式。当函数w(i,j)满足 w(i',j)<=w(i,j')且 i<=i'<j<=j' 时,称w关于关于区间包含关系单调。s(i,j)=k是指m(i, j)这个状态的最优决策最优代价d[i,j]=min{d[i,...原创 2017-03-01 16:42:27 · 391 阅读 · 0 评论 -
树分治总结
一.前言树分治就是在树形结构上进行分而治之的操作,包括点分治和边分治。①点分治的效率比较稳定,最坏情况下递归深度为O(logn)。②边分治在定点度数D为常数时,基于边的分治递归最坏深度为O(log N) ,然而D较大时会达到O(N),这种效率显然是不行的,不过可以通过添加虚点,使得每个节点的度数都不大于3,这样既可保证效率。二.点分治例题:POJ-1741题意:一棵有n个节点的树,每条边有个权值代...原创 2017-07-21 01:08:24 · 4533 阅读 · 0 评论 -
斜率优化总结
一.上凸包作用:求最大值如果不等式最后化简得到dy/dx>k,那么应该用上凸包。上凸包特点:随x递增,斜率递减只要找到斜率最接近k且>=k的点,即是所求最大值struct Point { LL x, y;//斜率=y/x Point() {} Point (LL X, LL Y) {x = X; y = Y;} Point operator- (cons...原创 2017-02-25 19:33:53 · 1504 阅读 · 0 评论 -
期望&概率dp总结
总算刷完kuangbin期望&概率专题了,下面总结一下心得和题解!1.期望dp期望dp通常逆推,即从结果推向初始状态,也可以用记忆化搜索进行dp;E=Σp1*(E1+X1)+Σp2*(E+X2)其中E为当前状态的期望,E1为下一个状态的期望,p1和X1分别为将当前状态转移到下一个状态的概率和花费,p2和X2分别为保持当前状态的概率和花费。最后化简为E=(Σp1*(E1+X1)+Σp2*X2...原创 2017-01-25 16:34:08 · 4930 阅读 · 0 评论 -
RMQ
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大值。本文介绍一种比较高效的ST算法解决这个问题。ST(Sparse Table)算法可以在O(nlogn)时间内进行预处理,然后在O(1)时间内回答每个查询。1)预处理设A[i]是要求区间最值的数列,F...原创 2017-07-12 13:23:56 · 16502 阅读 · 5 评论 -
一个打了三年的ACMer总结
首先要感谢qwb和胡老师把我拉入坑,让我大学过得这么充实~本人作为csust的ACMer,零基础入坑,大三拿了个金,大四划水退役。大一上刚入大学的我还沉迷于LOL,整天想着上王者,这时碰巧在ACM社团群中划了划水,就被qwb拉入了坑= =。由于起步比较晚,高中也没有搞过OI,进度特别慢,到了第一次周赛的时候,甚至连多组输入都不会写,被各位同级的吊打。品尝到大学首次失败后,我就立了个神奇...原创 2018-12-21 00:51:43 · 9293 阅读 · 13 评论