10 2014 档案
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=5039题意:n点n-1条边组成的一棵树,问其中有多少条路径(u,v)路径亦或和为1思路:首先要明白一个结论,u->v的值始终与1->u xor 1->v相等。有了这个性质之后,直接选一个点为根,dfs遍历整颗...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4824题意:中文题意思路:裸双调欧几里得,关键在于转换思路就好了,把磁盘的每一层看作是已经X排序过的。代码:https://github.com/Mithril0rd/Rojo/blob/master/hdu...
阅读全文
摘要:通道:http://codeforces.com/contest/482/problem/C题意:给出n个字符串,然后A从中选出一个字符串,B来问,每次问就是问str[i]是什么字符,问B确定字符串的期望次数。思路:大思路是我们算出枚举A取的每个串的期望次数,最终就是中的期望次数除以n,那么对于每次...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4777题意:一个数列有n个数,然后有m个询问,每个询问 l,r表示问你区间[l,r]中有多少个数与除自己之外的其他数互质思路:用l[i],r[i]记录位置i左右最近的不互质的位置,然后从左到右对于i加1,r[...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3853题意:n×m的矩阵,初始位置在(1,1),出口在(n,m),给出向右向下(花费2元)留在原地3种概率,问走出去的花费期望。思路:dp[i][j]走出去的期望,dp[i][j]=t[i][j]*dp[i]...
阅读全文
摘要:通道:http://poj.org/problem?id=2151题意:有M道问题,T支队伍,然后给出p[i][j]表示i队伍解决j问题的概率,问每个队解决问题超过1道且冠军队伍解题数为N的概率。思路:dp[i][j][k]:第i支队伍在前j道解决了k道题目的概率。转移为dp[i][j][k]=p[...
阅读全文
摘要:通道:http://poj.org/problem?id=3071题意:有2^n个队伍,给出两两pk的胜率,求胜率最大的是哪个队。pk有限制,那就是相邻2个pk思路:pk的方式其实就是在走一棵树,所以判断2者是否能够PK,那么判断最高几位就可以了,设dp[i][j]第i轮,j胜利的概率,则dp[i]...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3366题意:有N条道路可以走出去,一条道路既没有碰到土匪也没有碰到死胡同从而走出的概率是Pi;碰到土匪而没有走出去的概率的概率为Qi( 0< = Qi < = 1-Pi),如果碰到土匪,那么必须得付1块钱并且...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4089题意:给你1个长为n的队列,然后你站在第m个位置然后题目给了你4个概率 p1:什么都不发生 p2:注册失败,第一个人到排到队尾去 p3:注册成功,第一个人离开队列 p4:机器损坏,所有注册结束 ...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4035题意:有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树,从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点1处(概率为ki) 2.找到出口,走出迷宫 (概率为ei) ...
阅读全文
摘要:通道:http://poj.org/problem?id=3756题意:类似于飞行棋,骰子从1-6,3种类型,第一种是到达a这个点前进b步,第二种是到达b这个点后退b步,第三种是停在adia你,求从1到n期望步数。思路:dp[i][j]走i步到达j的概率,最后统计下就可以了,sum(概率*步数)代码...
阅读全文
摘要:基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
阅读全文
摘要:通道:题意:思路:代码:TAG:
阅读全文
摘要:通道:http://codeforces.com/problemset/problem/452/E题意:给了三个串,问对于长度为l的串,满足(i1,i2,i3)(s1[i1..i1+l-1]==s2[i2...i2+l-1]==s3[i3+...i3+l-1])有多少组,输出长度为1-min(|s1...
阅读全文
摘要:通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2806题意:思路:代码:TAG:
阅读全文
摘要:通道:http://codeforces.com/problemset/problem/271/D题意:一个字符串S,然后给出每一个字符是”好‘或”坏“,求S中包含不超过k个坏字符的不同子串的个数思路:对原串建立SAM,拓扑一下然后从后往前DP,dp[i][j]:到i节点坏字符为j个时的个数,转移为...
阅读全文
摘要:通道:http://codeforces.com/problemset/problem/235/C题意:给一个字符串S,再给一个字符串T,设T的长度为len,问T的循环串在S中出现的次数思路:对母串建立SAM,然后把T * 2在SAM上匹配,维护一个匹配长度。然后记得看一下当前这个串是否属于点p,也...
阅读全文
摘要:通道:http://codeforces.com/problemset/problem/127/D题意:求一个字符串S的最长子串,使得它同时是S的前缀,后缀和中缀思路:建立SAM,拓扑一下然后从前往后匹配,判断前缀和后缀相等只需要str[i]==str[n]&&r[j]==len就可以,问题在于怎么...
阅读全文
摘要:通道:http://codeforces.com/problemset/problem/123/D题意:定义F(s,x)表示s中的子串的子串等于x的有多少个,求和,例如,F(babbabbababbab, babb) = 6. The list of pairs is as follows:(1, ...
阅读全文
摘要:通道:http://poj.org/problem?id=1509题意:给你一个字符串的环,求从那个位置起字符串的字典序最小思路:将原串扩充一倍,建立SAM,然后去遍历最早到达长度为L的就可以了,代码:https://github.com/Mithril0rd/Rojo/blob/master/po...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4622题意:给出一个串,Q次询问【l,r】区间内有多少个不同的子串思路:SAM模板题,我们知道每增加一个字符,在这个区间内就会增加val[i]-val[fa[i]]个不同的串,离线处理排序所有询问即可。代码:...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4416题意:给一个字符串S和一系列字符串s1~sn,问在S中有多少个不同子串满足它不是s1~sn中任意一个字符串的子串思路:对母串SAM,然后对于s1~sn我们从上往下匹配,设match[i]表示n个子串和母...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3518题意:求一个字符串中重复出现两次以上且不重叠的不同字串的个数。思路:建立SAM后,然后拓扑排序,我们知道,在后缀自动机中,每一个状态都代表了一类子串,(设一个状态为p)则它的长度范围是[p->fa->v...
阅读全文
摘要:通道:http://www.spoj.com/problems/SUBLEX/题意:求长度为90000的字符串的字典序K小的子串思路:SAM后,拓扑一下path[i]表示到达i节点继续往下走能产生的子串,如果走到某个节点的path[i]+1>=k,这说明就在这条路径上,否则就是以其他字母k(k>i)...
阅读全文
摘要:通道:http://www.spoj.com/problems/LCS2/题意:LCS的进阶,不过这个是问N(dp[i][j]的都更新掉即可。代码:https://github.com/Mithril0rd/Rojo/blob/master/SPOJLCS2.cppTAG:LCS进阶
阅读全文
摘要:前几个月总结的后缀数组专题,现在贴出来吧。不可重叠重复串;可重叠k次重复串; 不相同子串个数最长回文子串 连续重复子串重复次数最多的连续重复子串最长公共子串长度不小于k 的公共子串的个数不小于k 个字符串中的最长子串出现或反转后出现在每个字符串中的最长子串3个字符串,问其中公共子串分别为1,2,3....
阅读全文
摘要:通道:http://www.spoj.com/problems/LCS/题意:LCS,不过长度为3*10^5。思路:n^2肯定超时,对A串建立SAM,然后B串依次匹配,初始时状态在root处,此时往前的最大匹配数为get=0,如果在A中存在这个字符,则往下走,否则往回走,在上面不断跳就可以得到答案了...
阅读全文
摘要:快速通道:http://www.spoj.com/problems/NSUBSTR/题意:给出一字符串,定义F[x]为长度为X的相同子串出现的次数,求1-|S|的F值思路:建完后缀自动机后,我们拓扑一下,然后从底到上cnt[i]表示i节点的内容出现了多少次,则答案:ans[len]=max(ans[...
阅读全文
摘要:【资料】后缀自动机实质上是字母树,记录的字符串是某个字符串s的所有后缀.这里以字符串ACADD为例:这样很浪费空间和时间(实际上都是O(n^2)).但是,注意:这棵字母树的结点虽然多,但大部分结点都只有一个儿子,而且有很多段是一样的.那么,利用公共部分,就可以对空间进行压缩,具体地说,就是把自己连到...
阅读全文
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4267题意:n个数,q次操作,每次操作有2种类型: 1:a,b,k,c 增加满足[a,b]中的i,使得(i-a)%k==0的i位置增加c 2:询问i位置的值思路:(i-a)%k==0->i%k==a%k,...
阅读全文
摘要:此博客用来记录我剩下不到两年的大学ACM生涯! NEW STARTING!
阅读全文

浙公网安备 33010602011771号