自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【BZOJ 3223】文艺平衡树(区间翻转)

题意给定n个数,对这个数列进行m次操作,每次将一个选定区间[l, r]翻转。求出m次操作后得到的数列。前置知识splay分析这应该算是splay的经典应用了吧。翻转本身不算难事:对于一个带翻转的区间[l, r],先将l-1旋转至树根,再将r+1旋转至根的有节点。这样一来,[l,r]的节点全部都在r+1的左儿子处了。于是,我们给每个节点一个tag,表示这棵子树下的区间是否...

2019-01-31 17:42:55 676

原创 AC自动机上的dp

有些时候,我们会碰到这样的一类问题:给定n个字符串,求长度为m的(不)包含这n个字符串的字符串个数。即字符串匹配的计数问题。我们先来看这样一道题:【poj 2778】给出m个疾病基因片段(m<=10),每个片段不超过10个字符。求长度为n的不包含任何一个疾病基因片段的DNA序列共有多少种?(n<=2000000000)【分析】我们先考虑一下朴素的dp:设dp(i,j)dp(i,...

2019-01-19 12:42:58 954

原创 AC自动机

问题引入给定m个关键字和一个文本,求其中有多少个关键字在文本中出现过。分析这是一个字符串匹配问题。我们当然可以用(扩展)KMP解决。但是,如果数据规模稍微大一些,这个算法的表现依旧不好。所以,我们介绍一个新东西——AC自动机。它专门用于解决这种多关键字匹配的问题。首先,我们将这些关键字做成一个trie树。(画得好丑啊)定义fail[i]为**如果在i节点处匹配成功,而在匹配下一个字符...

2019-01-19 11:51:59 177

原创 【bzoj4974】字符串大师

【题意】给定某个字符串的pre值,pre[i]表示原串长度为i的前缀的最小循环节长度,求一个符合条件的字典序最小的字符串。P.S.最小循环节T:满足若干个T拼接在一起,使S为拼接后所得串的前缀的最短字符串。【题解】前置知识:最小循环节长度len[i]=i-nxt[i](nxt[i]即为kmp中的next数组)我们先回想一下kmp的过程。构造next数组时,我们是这样更新它的:(字符串从0...

2019-01-16 22:55:55 418

原创 字符串的最小/大表示法

想象一下,把一个字符串围成一个圈,再次字符圈的任意一处断开,将会得到一个新的字符串。在按此法生成的字符串中,字典序最小的称为原字符串的最小表示法,最大的称为原字符串的最大表示法。那么,我们怎么求一个字符串的最小/大表示法呢?思路一、直接把这n个字符串构造出来,然后排序。时间复杂度O(nlogn)O(nlogn)O(nlogn),空间复杂度O(n2)O(n^2)O(n2),TLE思路二、...

2019-01-13 21:53:45 216

原创 【填坑】KMP

KMP用于求b串在a串的出现位置(字符串匹配)。我们通过一道题来讲讲KMP的算法过程。【HDU 1711】给定两个数字串a、b。求b在a第一次出现的位置。若没出现输出-1。一般的暴力算法就是暴力匹配。若有一个位置匹配失败,则回溯后重新匹配。时间复杂度高达O(nm)O(nm)O(nm)。可以发现,这个过程中有大量的冗余运算。比方说,匹配失败后(蓝色点),图中的红色段都是已经匹配好的了。那么...

2019-01-05 12:19:29 179

DP832直流电源.rmvb

DP832直流电源.rmvb

2022-09-23

空空如也

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

TA关注的人

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