自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 喵星球上的点名——记一个用广义SAM根号维护多串的技巧

喵星球的上的点名给定一个字符串集合S,每次给定T询问S中有多少个字符串中包含T,最后询问S中的每一个字符串包含了多少次给定的T。思路考虑将这S个字符串建立广义SAM,那么我们每次将T放到广义SAM中去匹配,最后匹配到的节点的parent子树中来自不同串的结束位置数就是第一问的答案。同样我们每次匹配完之后在节点处打上标记,第二问S中每一个字符串的答案就是每一个结束位置能够一直往上跳...

2019-07-02 20:20:00 173

转载 bzoj4231回忆树——AC自动机

bzoj4231 回忆树给定一颗Trie树,每次询问u到v的路径上构成的字符串包含了给定模式串T多少次。思路考虑离线之后对于所有的模式串建立AC自动机,考虑跨过lca的串范围有限,直接暴力kmp即可。然后我们就将一次询问拆成了两条链了,可以将每次询问挂在链上然后离线去dfs,每次dfs时将这个节点添加进AC自动机匹配,对于一段u到v的链,我们在链头的某一个位置减去之前不合法的匹配...

2019-07-02 20:20:00 200

转载 NOI2013 树的计数

NOI2013 树的计数给定一个dfs序和bfs序,求解符合这两个条件的所有树的平均树高。思路如果我们能够给bfs序中每一段区间分层,然后再去对应dfs序,不难发现可以唯一确定一棵树,即在dfs的过程中,前后两个节点的关系可以按照层数来判断,分为儿子或者是某一层祖先的另外一个儿子。而给bfs序分层的时候我们需要满足一些限制:bfs序中同一层在dfs中访问顺序必须严格按照bfs...

2019-06-18 19:04:00 155

转载 拆系数FFT学习笔记

拆系数FFT学习笔记拆系数FFT当题目中取模的数不是NTT模数的时候,我们无法利用原根来进行快速数论变换,这个时候就要用到毛啸论文里提到的拆系数FFT。大致思路拆系数FFT实际上是将多项式卷积之后的值具体算出来,普通的FFT由于精度误差较大,当然无法胜任。于是可以考虑将一个较大的数拆成两个较小的数,即将\(x\)拆成\(a \times t + b\),这样相当于将\(x\)给...

2019-04-05 09:21:00 144

转载 HAOI2017 八纵八横——线段树分治+线性基

题目大意给定一个图,每次加一些边,或者删掉一些后来加上去的边,定义一个环的价值为环上所有的边的异或和,重复走的边重复算。每次询问这个时刻图中的所有经过1号点的环的最大价值。思路首先考虑对于一个静态的图如何求解图中所有经过1号点的环的最大价值,发现这个经过1号点就是唬人的,图中任意一个环都可以经过1号点再走回来。于是题目变成了求解图中环的最大价值,可以将图中所有的简单环给拎出来放到...

2019-04-03 11:55:00 122

转载 BJOI2018链上二次求和——线段树

BJOI2018 链上二次求和思路[l,r]的限制可以拆成[1,l-1],[1,r],然后考虑推式子。设\(s_i\)为\(a_i\)的前缀和。\({\rm ans}=\sum_{i=1}^{x}\sum_{j=i}^{n}s_{j}-s_{j-i}\)设\(t_i\)为\(s_i\)的前缀和。\({\rm ans}=\sum_{i=1}^{x}t_{n}-t_{i-1}-t...

2019-03-31 22:19:00 116

转载 [bzoj3514]Codechef MARCH14 GERALD07加强版——lct+主席树

题目大意给定一个图,求编号在[l,r]之间的边形成的图的连通块个数。思路考虑一条边什么时候会造成贡献,即这条边相连的两个部分在之前从未连通过,或者是把所有编号小于l的边去掉之后这两个部分未连通。对于第一种情况可以轻松地用并查集来实现。对于第二种情况,对于每一个l,我们需要判断出u,v这两个点的所有路径中是否存在一条路径使得min(id)>=l,如果不存在则(u,v)这条边...

2019-03-31 17:03:00 131

转载 KD-Tree 学习笔记

KD-Tree 学习笔记SDOI2010 捉迷藏对于i=1...n,求曼哈顿距离距离i最近和最远的点的距离分别是多少。思路KD-Tree 的模板题目。KD-Tree,实际上就是对一个多维空间进行不断的划分,在一维上类似于二叉搜索树。如果是多维的,我们可以每一次只划分一维,然后这样不断轮流划分不同的维度。具体的,对于当前维度的划分,我们最优秀的策略就是取所有点按照当前维度排序...

2019-03-27 22:05:00 127

转载 SDOI2010 捉迷藏 —— KD-Tree

SDOI2010 捉迷藏对于i=1...n,求曼哈顿距离距离i最近和最远的点的距离分别是多少。思路KD-Tree 的模板题目。KD-Tree,实际上就是对一个多维空间进行不断的划分,在一维上类似于二叉搜索树。如果是多维的,我们可以每一次只划分一维,然后这样不断轮流划分不同的维度。具体的,对于当前维度的划分,我们最优秀的策略就是取所有点按照当前维度排序之后从中点划分开来,这样可...

2019-03-25 22:40:00 120

转载 HAOI2018染色——容斥

题目大意loj思路设\(f_i\)表示至少出现了i种颜色的方案数\[\begin{aligned}f_i&={m \choose i}\times \frac{(s\times i)!}{(s!)^{i}}\times {n\choose s\times i}\times (m-i)^{n-s\times i}\\f_i&={m \choose i}\tim...

2019-03-23 15:33:00 122

转载 [BJWC2018]Border 的四种求法——SAM+线段树合并+DSU+链分治

Border 的四种求法给定一个串,q次询问[l,r]的border长度。思路首先先对整个串建sam,然后我们对包含r的每一个状态去计算。设当前状态的最大长度为len,如果一个结束位置i是合法的,当且仅当\(l\leq i < r\),且\(i < l+len\),然后我们需要找到一个最大的i满足这个条件,不难发现此时最暴力的做法就是在parent树上面暴力跳,然后在...

2019-03-13 16:23:00 129

转载 [uoj218]火车管理——主席树

题目大意维护一个栈,每次区间压栈,单点弹栈,区间询问栈顶的元素和。思路如果没有弹栈的操作的话,我们每一次只需要在一颗线段树上面区间赋值即可。加上弹栈操作,我们每次就需要知道当前栈顶元素的上一个元素是什么,考虑用主席树来维护每一个时刻每一个位置的最近一次的修改位置。假设当前的时间为x且我们需要弹栈,那么我们需要先查询得到最近的一次时间y,然后查询y-1的修改时间z,那么我们就得到...

2019-03-11 21:46:00 126

转载 [bzoj2125]最短路——仙人掌,圆方树

题目大意求仙人掌上最短路.思路将仙人掌上的所有环给建立方点,所有环上的点作为圆点连在方点上面.考虑一个以1为根的树型结构,我们将所有环上的点和方点的距离设为该点离环上深度最小的点的最小距离.这样利用树上倍增来求解两点之间距离后,我们发现跨过的环(方点)上的路程就是环上的点离环上深度最小的点的最小距离,于是我们只需要判断一下lca是否是方点即可。/*==============...

2019-03-03 20:17:00 140

转载 [loj2731]「JOISC 2016 Day 1」棋盘游戏

题目大意有一个3 × n的棋盘,你在上面玩游戏。开始时,棋盘有一些格子上已经摆上了棋子,剩下的格子都是空的。每次你可以选择一个空的格子摆上棋子,这个格子必须满足以下两个条件之一:这个格子上下两格都有棋子;这个格子左右两格都有棋子。你想知道有多少种不同的摆满棋盘的摆放顺序。思路首先判断无解,如果四个角没有棋子或者一三行出现了连续两个空格子,那么就无解.然后发现整个图变成了...

2019-02-27 15:29:00 261

转载 [WC2018]州区划分——FMT优化DP

题目大意:这是链接思路:考虑动态规划,设\(f_{S}\)表示$S \(集合中的点的划分的满意度之和,设\)t_{S}\(表示\)S\(集合中的点是否合法,\)w_S \(表示\)S$集合中的点的权值之和,那么可以得到方程:\[f_{S}=\sum_{T\subseteq S}f_{S-T}\times t_{T}\times (\frac{w_T}{w_S})^{p}\]...

2019-02-21 16:36:00 121

转载 「NOI2018」你的名字——后缀自动机

题目大意:给定一个母串和若干个询问串,求每个询问串有多少个本质不同的子串没有在母串中出现过。思路:ION2017的串我们称为S串,ION2018的串我们称为T串。先考虑68pts怎么去做。考虑T串有多少个子串未在S串中出现过,于是将S建立SAM,然后将T丢进S的SAM里跑子串匹配,这样我们可以得到T的每一个结束位置的最大匹配长度,所有长度大于这个长度的子串都是符合要求的子串。...

2019-02-20 21:01:00 104

转载 4566: [Haoi2016]找相同字符——后缀自动机

题目大意:给定两个串,求有多少种方式从两个串中各提取出一个子串并且两个子串相等。思路:涉及两个串的子串问题考虑对第一个串建立SAM。然后用第个二串在SAM上匹配,每到一个点,贡献是(目前的长度-这个状态的父亲的长度)x这个状态RIGHT集合的大小,同时对这个状态的每个祖先也像这样计算贡献即可。/*======================================= ...

2019-02-14 18:12:00 113

转载 [uoj276][清华集训2016]汽水——分数规划+点分治

题目大意:给定一颗带边权的树,求一条路径使得这条路径上的边权的平均值最接近一个给定的值。思路:既然是求平均值,那么自然而然就想到了分数规划了, 即最小化\(|\frac{\sum_{i=1}^{{len}}w_i}{len}-k|\)。然后二分答案\(x\),考虑是否存在比\(x\)更优的答案:\(|\frac{\sum_{i=1}^{{len}}w_i}{len}-k|\leq...

2019-02-13 14:24:00 137

转载 [bzoj3451]Tyvj1953 Normal——点分治+fft

题目大意:求随机点分治的期望复杂度,每次对一颗大小为\(n\)的子树需要\(O(n)\)的复杂度。思路:考虑计算每个点期望下被算的次数,根据期望的线性性,最后将每个点的答案加起来就可以了。计算点u的计算次数可以考虑v对点u的贡献,即在v作为分治重心的时候u在v所在的子树里面。不难发现如果v对u产生了贡献,那么从u到v的路径上,v必定是第一个选的,路径外的点怎么选没有影响,于是期...

2019-02-13 14:24:00 110

转载 [bzoj3143][Hnoi2013]游走——动态规划+高斯消元

题目大意:一个无向连通图,顶点从1编号到N,边从1编号到M。小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数。当小Z 到达N号顶点时游走结束,总分为所有获得的分数之和。现在,请你对这M条边进行编号,使得小Z获得的总分的期望值最小。思路:由于我们需要确定每条边的权值,所以不妨将每...

2019-02-11 13:42:00 131

转载 [loj2542]「PKUWC2018」随机游走——min-max容斥+树上高消

题目大意:给定一棵 n 个结点的树,你从点 x 出发,每次等概率随机选择一条与所在点相邻的边走过去。有 Q 次询问,每次询问给定一个集合 S,求如果从 x 出发一直随机游走,直到点集 S 中所有点都至少经过一次的话,期望游走几步。特别地,点 x(即起点)视为一开始就被经过了一次。答案对 998244353 取模。思路:看到所有点都经过一次直接上min-max反演。然后我们要...

2019-02-10 20:30:00 141

转载 [bzoj4589]Hard Nim——SG函数+FWT

题目大意:Claris和NanoApe在玩石子游戏,他们有n堆石子,规则如下:Claris和NanoApe两个人轮流拿石子,Claris先拿。每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。不同的初始局面,决定了最终的获胜者,有些局面下先拿的Claris会赢,其余的局面Claris会负。Claris很好奇,如果这n堆石子满足每堆石子的初始数量是...

2019-02-10 17:09:00 94

转载 [hdu5909]Tree Cutting——动态规划+FWT

题目大意:给定一棵树,求有多少个联通块满足异或和=k,对于每一个k求答案。思路:设\(dp_{i,j}\)表示联通块深度最小的点为i时,异或和为j时有多少个满足条件。从儿子转移,FWT优化即可。/*======================================= * Author : ylsoi * Time : 2019.2.10 * Problem : ...

2019-02-10 16:07:00 100

转载 [hdu4035]Maze——树上高消

题目大意:给定一颗树,从1号节点开始,在每个节点都有三种可能:1.以\(k_i\)的概率回到1号节点2.以\(e_i\)的概率走出迷宫3.和该点相连的边随机走一条求走出迷宫期望下走的步数。思路:首先设\(p_i=1-k_i-e_i\)。设从第\(i\)个点出发,期望意义下走出迷宫需要走的步数为\(f_i\),那么我们得到的递推式是:\[f_i=k_i\times ...

2019-02-10 09:39:00 224

转载 [bzoj3998][TJOI2015]弦论——后缀自动机

题目大意:给定一个字符串,求它的第k小子串。思路:后缀自动机的模板题。考虑将后缀自动机建出来之后,求出每一个状态在原串中出现了多少次,然后统计以每个节点往后拓展的字符串总共有多少种(按照拓扑序累加即可),最后直接在DAG上做类似二分的就好了。/*======================================= * Author : ylsoi * Time :...

2019-02-09 16:31:00 89

转载 [bzoj4650][Noi2016]优秀的拆分——后缀数组

题目大意:定义一个字符串的拆分是优秀的当且仅当是\(AABB\)的形式,求给定字符串的所有子串的所有的拆分中有多少是优秀的。思路:95分太好拿了,这里直接考虑正解该怎么做。不难发现我们只需要求出每个点开头的\(AA\)形式的字符串和每个点结尾的\(AA\)字符串,然后枚举分割点两边乘起来就好了。可是关键是\(AA\)形式的字符串可能有\(n^2\)个,直接枚举的话一定不是正解。...

2019-02-07 15:50:00 62

转载 [bzoj4199][Noi2015]品酒大会——后缀数组

题目大意:给定一个序列,定义两个后缀是k相似的当且仅当这两个后缀有长度为k的公共前缀。求对任意\(r\in [0,n-1]\),\(r\)相似的后缀的对数和两个后缀乘积的最大值。思路:先考虑后缀数组是如何计算两个后缀的lcp,发现是对于一段连续的height取min。于是对于制定的相似度r,height < r的位置必定是两个后缀不能越过的,于是不难发现将有height ...

2019-02-06 19:37:00 72

转载 [TJOI2017]DNA——后缀数组求LCP

题目大意:给定一个文本串和一个模式串,求文本串中有多少个连续的子串和模式串相差不超过三个字符。思路:算是一道后缀数组的模板题。直接做lcp,然后遇到匹配不上的就跳,跳的次数不能超过三次。具体地,将两个字符串连在一起,中间加一个分隔符,然后求出height,用rmq维护height数组的区间最小值即可。/*====================================...

2019-02-06 10:58:00 110

转载 [bzoj3992][SDOI2015]序列统计——离散对数+NTT

题目大意:给定一个数字不超过\(m\)的集合\(S\),用\(S\)中的数生成一个长度为\(n\)的序列,求所有序列中的元素乘积模\(m\)等于\(x\)的序列的个数。思路:考虑最朴素的\(DP\),设\(f_{i,j}\)为选了\(i\)个数,乘积模\(m\)余\(j\)的方案数,直接转移的时间复杂度是\(O(nm^2)\)的。不难发现每次转移的过程是相同的,矩阵加速显然不太可...

2019-02-04 16:22:00 81

转载 分治FFT&&多项式求逆学习笔记

分治FFT:解决的是形似以下的问题:给定n次多项式\(g(x)\),求多项式\(f(x)\),其中\(f\)的第\(i\)项系数的表达式为\(\sum f_{j}\times g_{i-j}\)。解法:不难发现式子也是卷积的形式,但是与普通多项式乘法不一样的是,每一项的系数依赖前面的项的系数,使得普通的FFT无法起作用。考虑分治,将区间\([l,r]\)分为\([l,mid],...

2019-02-03 22:00:00 180

转载 [poj1322]Chocolate——生成函数

题目大意:一共有\(c\)种糖果,取\(n\)次,每次取到糖果种类都是等概率的,求有\(m\)种糖果个数为奇数个的概率。思路:直接概率DP时间复杂度太高,卡常数也不太好卡。将每次取出来的糖果看成是一个带有重复元素的排列,直接计算复合条件的排列数量。考虑符合条件的最后的序列的考虑EGF(指数型生成函数),可得出现次数为偶数次的糖果的生成函数为:\[F_0(x)=\sum_{i...

2019-02-01 22:33:00 118

转载 [bzoj3771]Triple——生成函数+容斥原理+FFT

题目大意:我们讲一个悲伤的故事。从前有一个贫穷的樵夫在河边砍柴。这时候河里出现了一个水神,夺过了他的斧头,说:“这把斧头,是不是你的?”樵夫一看:“是啊是啊!”水神把斧头扔在一边,又拿起一个东西问:“这把斧头,是不是你的?”樵夫看不清楚,但又怕真的是自己的斧头,只好又答:“是啊是啊!”水神又把手上的东西扔在一边,拿起第三个东西问:“这把斧头,是不是你的?”樵夫还是看...

2019-01-31 14:37:00 148

转载 [bzoj3456]城市规划——分治FFT

题目大意:求n个点的带标号简单无向联通图的数目。思路:嗯多项式求逆还不会,到时候会了应该会补吧。这种和图计数有关的题目一般都是考虑反面计数或者是容斥什么的。考虑枚举一号点的连通块的大小,然后用总方案数减去这些方案数。可以得到递推式:\[f_{i}=2^{i\choose 2}-\sum_{j=1}^{i-1}{i-1\choose j-1}\times f_{j}\tim...

2019-01-29 23:31:00 98

转载 [uoj207]共价大爷游长沙——lct

题目大意:给定一棵树和一些路径的集合,同时树和集合都可以支持在线修改,然后在某一时刻求一条边是否被所有集合之中的路径给覆盖。思路:考虑一个简单的思路,每当添加一条路径,我们就把在这条路径上的所有边的边权都异或上一个随机值,然后对于任意一条需要询问的边,我们只需要判断它的权值是否等于目前所有的路径的权值的异或和即可。当我们的权值很大的时候,出错的概率很低,所以可以近似为正确的。但...

2019-01-28 18:50:00 89

转载 [bzoj2159]Crash 的文明世界——动态规划

题目大意:给定一棵树,求每一个点的\(s(i)=\sum_{j=1}dis(i,j)^k\)。思路:题目所求\(s(i)=\sum_{j=1}dis(i,j)^k\),考虑\(k\)次幂的组合意义,\(x^k\)表示\(k\)个不同的物品放入\(x\)个不同的箱子里面,即\(x^k=\sum_{i=1}^{x}{x \choose i}{k\brace i}\times i!\)。...

2019-01-28 15:37:00 97

转载 [luogu4707]重返现世——min-max容斥拓展+动态规划

题目大意:给定\(n\)个物品和每个物品出现的概率,收集到至少\(k\)个物品的期望时间。\(k \leq 10\)思路:好题!容斥计算第k大的期望,考虑计算第i大的数的贡献:\[\begin{aligned}&\sum_{j=0}^{i-1}{i-1\choose j}f_{j}=[i=k]\\&\sum_{j=0}^{i}{i\choose j}f_...

2019-01-18 14:58:00 119

转载 [bzoj4543][POI2014]Hotel加强版——长链剖分

题目大意:传送门思路:每一个三元组必定是一个三叉。考虑在三个点的lca处计算贡献。考虑记\(f_{u,j}\)表示距离u深度为j的点一共有多少个,\(g_{u,j}\)表示在u的子树中,点对a,b距离lca 的距离为d,lca距离u的距离为d-j,也就是这两个点对还差一段长度为j的路径才成凑成一个合法的三元组。于是每一个点都可以从子树转移过来,考虑记录前缀,然后在新子树添加进...

2019-01-07 20:49:00 84

转载 [bzoj1758][Wc2010]重建计划——长链剖分+线段树+分数规划

题目大意:给定一颗带权的树,求一条长路在\([L,R]\)的路径,权值的平均数最大。思路:显然先分数规划,二分答案,然后考虑怎么check。考虑一个简单的树型DP,记\(f_{i,j}\)为i子树内距离i为j的点中路径长度和最大是多少,然后一个点可以从它的儿子转移过来,在转移的时候每次记录前缀枚举新添加进来的子树深度计算一遍答案。这样复杂度\(O(n^2)\),发现转移和子树的...

2019-01-07 20:40:00 97

转载 [vijos]lxhgww的奇思妙想——长链剖分模板

题目大意:给定一棵树,询问x的k次祖先。思路:这是一道长链剖分的模板。长链剖分类似于平常树链剖分的模式,但是划分轻重链并不是以size为依据而是以子树内最深度最大的节点为依据,这使得它具有一些重链剖分不具有的性质。性质1:所有的链长=n性质2:任意一个点的k次祖先所在的链链长\(\geq\)k。上面两条性质都很好证,这里不再作多余说明。于是考虑如何高效地求解k次祖先,我们...

2019-01-07 17:06:00 124

转载 [bzoj3198][Sdoi2013]spring——容斥+哈希表

题目大意:给定一些六元组,求有多少对\((i,j)\)满足\(i,j\)中恰有\(k\)对对应相同。思路:考虑\(\geq k\)的对数然后简单容斥。考虑到只有六元组,于是直接枚举子集之后把那几位提取出来,单独把那几位哈希然后计算相同的对数有多少。但是哈希冲突很大,直接手写哈希表即可。#include<bits/stdc++.h>#define REP(i,a...

2019-01-05 14:42:00 80

空空如也

空空如也

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

TA关注的人

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