11 2016 档案
摘要:后缀数组 假设我们要求出给定字符串的所有后缀及其顺序,朴素的做法时间复杂度为$O(n^2)$,但是善加利用后缀的性质,我们可以在$O(nlog^2n)$时间内解决这个问题 算法: 我们令$sa[i]$为字符串S中 当前 第$i$小的后缀的起始坐标,$rank[i]$为从$i$起始地后缀的名次 我们考
阅读全文
摘要:题目链接: http://vjudge.net/problem/UVALive 4287 题目大意: 给出一个有向图,要求添加最少的边,使得整个图联通 分析: 首先发现一个强连通分量肯定是强连通的,首先我们可以缩点,考虑得到的DAG, 首先对于出度为0的点,入度为0的点,它们肯定要连一条边,而且我们
阅读全文
摘要:快速二进制乘法: 有时我们要求对$a,b$两个数乘积取模,但是两数乘积太大,会爆LL,但是取模结果又不会爆,这时写高精度固然是非常难受的,所以我们可以用二进制乘法来避免它。 原理: 我们将a分解为二进制形式,对于每一个a上的“1”单独相乘,具体方法如下 代码: int qmult(int a,int
阅读全文
摘要:题目大意: 给出一个长为$n\leq200$的序列,$k\leq50$种括号,给出每个位置出现对应括号的概率,求最后序列合法的概率 题目解析: 首先不难想到区间DP(Whx:区间DP?你还是too young,我见过的括号匹配的题,不知道高到哪里去了),我们设$F[i][j]$为区间$[i,j]$括
阅读全文
摘要:DFS and Similar [ 1 ] DFS 's Basement 时间戳:记录每个节点入栈和出栈时间 DFS树:遍历整个图后,所有节点加上遍历过的边所构成的树 树边:DFS树中原图的边 反向边:DFS树中将一个节点连接至它祖先节点的祖先的边 [2] Cut Vertex and Bridg
阅读全文

浙公网安备 33010602011771号