
字符串--------------------------
文章平均质量分 87
Fsss_7
这个作者很懒,什么都没留下…
展开
-
2014 ACM-ICPC牡丹江现场赛K题题解
Known NotationTime Limit: 2 Seconds Memory Limit: 65536 KBDo you know reverse Polish notation (RPN)? It is a known notation in the area of mathematics and computer science. It is also kno原创 2014-12-16 16:01:54 · 950 阅读 · 0 评论 -
hdu5918Sequence I
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5918题意:给出两个数组a,b。b数组匹配a数组,不是连续匹配,而是相隔p位置匹配,求a数组中能匹配出多少次b数组。分析:将a数组按%p分组然后kmp即可,O(n+m)。代码:#include#include#include#include#include#include#inc原创 2016-10-07 18:29:56 · 1174 阅读 · 0 评论 -
Educational Codeforces Round 12E. Beautiful Subarrays
链接:http://codeforces.com/contest/665/problem/E题意:给定一个长度为n的数组和一个数k,求有多少个区间[l,r]满足a[l]^a[l+1]^..^a[r]>=k。分析:我们设sum[i]=a[1]^..^a[i],那么对于每个sum[i]我们要找出有多少个sum[j]^sum[i]>=k且jk-1变成严格大于能直接处理出所有的答案而不用再查找有多原创 2016-09-07 21:06:06 · 344 阅读 · 0 评论 -
hdu5785Interesting
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5785题意:给定一个字符串s,对于每一个1分析:很明我们不能枚举3个量,但是我们还是得确定位置,那么我们枚举j,我们用manacher预处理出回文串,统计出每个位置w,以w为第一个字符和最后一个字符的回文串的信息,以w为第一个字符的回文串的所有的k的和,以w为最后一个字符的回文串的所有的i的和,那么原创 2016-08-03 06:17:39 · 598 阅读 · 2 评论 -
hdu5769Substring
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5769题意:给定一个字符c和一个字符串s,问s中有多少个不同的子串包含c。分析:比赛的时候对sa有些不熟了,想起看sam的时候记得sam能直接处理出所有不同的子串,然后就直接在卿神的博客上找了个sam的模板直接做了,因为对sam不熟还开小空间wa了一发。赛后补题的时候想起sa也能处理想着回顾一下sa原创 2016-07-29 20:56:42 · 725 阅读 · 0 评论 -
51nod1089 最长回文子串 V2(Manacher算法)
链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089题意:中文题。分析:Manacher算法练习题。代码:#include#include#include#include#include#include#include#include#include#include#inclu原创 2016-07-16 15:35:36 · 763 阅读 · 0 评论 -
hdu5745La Vie en rose
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5745题意:给定一个母串s和一个子串p。问s中有多少个位置可以匹配p,可以不完全匹配,p字符串中的每个位置的字符最多可以变动一次(不变的,与前面的字符交换,与后面的字符交换)。分析:做多校学姿势。xg的题解解释得很好,但是对于我这种没写过这种优化的人来说还是要看代码学习一遍,我说下我的理解吧。首先x原创 2016-07-23 14:37:06 · 1062 阅读 · 0 评论 -
bzoj2434: [Noi2011]阿狸的打字机
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2434题意:中文题。分析:给定一个这样的字符串很容易就想建一颗trie树。然后在trie树上进行匹配,这不就是AC自动机么!我们可以直接考虑这样的一种暴力,当查询x,y时我们只要将从root到y路径上所有的点沿着fail跑一遍,只要经过一次x就ans+1。但是这样会超时,我们在观察这个结原创 2016-04-10 21:07:40 · 397 阅读 · 0 评论 -
Codeforces Round #342 (Div. 2)
链接:http://codeforces.com/contest/625problemA:很经典的问题,你有n元钱,有两种牛奶,A:a元一瓶,B:b元一瓶,喝完返还瓶子退回c元,问最大能喝多少瓶牛奶。分析:贪心先全买A或者B,取最大的即可。代码:#include#include#include#include#include#include#include#inclu原创 2016-02-25 01:39:55 · 629 阅读 · 0 评论 -
Codeforces Round #344 (Div. 2)
链接:http://codeforces.com/contest/631problemA:给定两个数组A,B。设f(x,l,r)=x[l]|x[l+1]...|x[r],求max(f(A,l,r)+f(B,l,r))。分析:因为是取或是贪心变大,所以我们把整个数组或起来即可,即l==1&&r==n。O(n)代码:#include#include#include#include原创 2016-03-05 23:31:17 · 411 阅读 · 0 评论 -
hdu5955Guessing the Dice Roll
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5955题意:有一个6面的骰子,有n个人每个人猜了一个长度为l的序列,不停的掷骰子直到满足一个人的序列则那个人获胜,求每个人获胜的概率。分析:因为是一些序列之间状态概率的转变,很容易想到AC自动机的fail树的转换,我们从fail树上确定了各个状态的转变概率就可以得到一个方程组,然后高斯消元求出各个节原创 2016-11-01 14:51:12 · 1662 阅读 · 0 评论