自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BZOJ3926 [Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机

神々が恋した幻想郷 ~ Kamigami ga Koishita Gensoukyou题意:一棵树点上有字符,求树上路径所组成的本质不同的字符串的个数,保证叶子数Sol:陈老师出的题..Orz首先由一个结论:树上任意一条简单路径都可以被以某个叶子为根的树上的一条纵向链表示,即枚举每个叶子作为根,所有纵向链的并集=所有路径的集合简单证明:随便选一个叶子作根,不是纵向链的简单路

2017-06-26 22:32:24 445

原创 BZOJ3676 [Apio2014]回文串 Manacher+后缀数据结构

题意:一个子串的价值被定义为长度*出现次数,求价值最大的回文子串Sol:首先本质不同的回文子串个数是O(n)级别的,可以用Manacher求出然后就是要求一个子串的出现次数可以用后缀数组+二分求,也可以用后缀自动机定位到子串所属前缀在自动机上的位置,要在Parent树上找这个点到根路径上满足 len ∈ [min,max] 的节点的 Right 集合大小因为max 满足单调

2017-06-23 23:43:41 385

原创 BZOJ2555 SubString 后缀自动机+LCT

题意:给一个串,支持1.询问一个串在当前串中的出现次数2.在串尾加一个字符串强制在线Sol:如果没有添加操作,答案就是将给定串在SAM上跑到的最终状态的Right集合大小(到不了就是0)Right集合大小可用Parent树算现在有了添加,Parent树是会变化(加边或删边)容易想到可用LCT维护Parent树形态每个点影响的范围是她到根的一条链,影响是链上加自己

2017-06-15 20:37:42 348

原创 BZOJ4516 [Sdoi2016]生成魔咒 后缀自动机/后缀数组

题意:一个串初始为空,n次像串尾添加元素,每次添加后回答本质不同的子串个数nSol:本质不同的子串个数,考虑后缀数据结构发现向结尾添加字符对后缀数组不友好,但是在开头添加很资瓷,相当于新添加一个后缀于是考虑离线,把最终串搞出来在翻转一下,建立后缀数组,问题转化成动态添加后缀求不同子串个数每次找到当前后缀应在位置,去掉后缀对前驱的影响,加上后继与前驱对她的影响,递推即可找

2017-06-14 21:18:51 534

原创 BZOJ2013 [Ceoi2010]A huge tower 乱搞

题意:n块砖各有宽度,A在B的上边当且仅当A不比B的宽度+D长,求放在一起方案数Sol:先排序,考虑从小到大一个个插入因为当前插入的一定最大,比她小的一定能在它上面,只需考虑她能放在谁上面显然可以放在底下,此外还有一段连续区间可以放那么可以每次二分区间左端点然后乘法原理发现左端点是单调不降的,可以维护指针扫过去,复杂度瓶颈在于排序如果采取更优秀的排序算法可以做到线性时间

2017-06-08 23:35:07 689

原创 BZOJ3451 Normal 点分治+FFT

题意:陈老师在点分治时随机选择重心然后分治,每次代价为树的大小,求期望代价nSol:这只是Normal 啊!!Lunatic要难成什么样啊TAT由期望的线性性质,我们可以算出每个点的期望代价求和即为答案。现在选定一个点,考虑其他点对她的贡献,当这个点是她到选定点路径上第一个被钦定的点时会产生1的贡献,所以贡献为1/dis(x,y) dis(i,j)表示i到j路径上的点数(包括端

2017-06-08 23:26:39 704

原创 BZOJ2741 【FOTILE模拟赛】L 可持久化Trie+分块

题意:给定长度为n的序列,m次询问区间最大连续子段异或和nSol:首先搞前缀异或和,问题变成询问区间选两个数最大异或和然后考虑暴力 设f[i][j]表示区间i - j 答案 f[i][j]=max(f[i+1][j],calc(a[i],i+1,j)) calc(x,l,r)表示x与[l,r]中数的最大异或值然后分块大法好,f[i][j]表示i块到j块的,询问时整块直接得到,两

2017-06-06 23:26:47 571

原创 BZOJ3166 [Heoi2013]Alo 可持久化Trie

题意:给定长度为n的整数序列,一个连续子段的收益为子段次大值xor子段中任意数,求最大收益子段值Sol:考虑枚举次大值是谁,则一个数作为次大值时的扩张范围是[左边第二个大于她的数+1 , 右边第一个大于她的数-1] 和 [左边第一个大于她的数+1 , 右边第二个大于她的数-1] 两个区间可以合并起来,用可持久化Trie查询最大异或值。找左右数可以将所有数从小到大排序后顺序枚举,每次

2017-06-06 23:04:38 398

原创 BZOJ 3924: [Zjoi2015]幻想乡战略游戏

题意:动态维护支持修改点权的树上带权重心Sol:看见东方就点进来了233膜拜下陈老师出的题首先考虑如何求一个点到树上其他点的带权距离和,动态点分治可以做到单词O(logn)现在考虑暴力,发现如果求出了每个点到其他点的带权距离和记为权值,那么以带权重心为根,权值从上到下递增,换句话说对于任何一条链,权值都是单峰的。暴力做法可以随便选一个点枚举出边,计算出边指向的点的权值的最小

2017-06-03 07:38:58 602

原创 BZOJ 4598: [Sdoi2016]模式字符串

题意:一棵树点上有字符,给定模式字符串,求树上两点间路径形成字符串为模式字符串重复整数次得到的点对个数Sol:显然的点分治,判断可以将模式字符串的正反版本补齐到n后Hash,对当前重心的每个儿子dfs时记录路径Hash值与之前的配对即可,注意自己与自己的配对关系时间复杂度O(nlogn)这种代码题我竟然1A了233真是感动Code:#include#define debu

2017-06-01 21:20:13 614

空空如也

空空如也

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

TA关注的人

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