03 2017 档案

摘要:Description 求形如ABA形式的字符串,其中B长度固定,\(n\leqslant 10^5\) Solution 后缀数组。 我们可以枚举一个长度\(x\),然后将序列分组,每组长度为\(x\),然后从\(i\)找和\(i+x+B\)的最长公共后缀和最长公共前缀,然后得到一组合法区间,限制 阅读全文
posted @ 2017-03-31 09:11 北北北北屿 阅读(163) 评论(0) 推荐(0)
摘要:Description 求一个最长的串,使得他是\(s_1,s_2\)的子串,但\(s_3\)不是他的子串。 Solution 后缀数组+二分答案+KMP. 单调性显然...首先可以二分一个答案,然后判断。 判断方法就是取出\(height\)一段大于等于\(mid\)的区间,然后看看中间有没有\( 阅读全文
posted @ 2017-03-31 09:06 北北北北屿 阅读(159) 评论(0) 推荐(0)
摘要:Description 一个数列求对应差相等最长的一段。\(n\leqslant 2\times 10^4\) Solution 后缀数组+二分。 将数列差分一下,一段字符串在\(height\)数组上一定是连续的一段,二分一个答案,找到一段\(>=mid\)的区间,然后记录一下最大最小值。 因为\ 阅读全文
posted @ 2017-03-30 15:13 北北北北屿 阅读(112) 评论(0) 推荐(0)
摘要:Description 一个01串,求每个出现次数大于1的次数,\(n\leqslant 10^5\) Solution 后缀数组。 枚举子串,他扩展的时候左端点单增,右端点单减,然后统计一下就行了... 复杂度\(O(n^2)\) Code 阅读全文
posted @ 2017-03-30 11:41 北北北北屿 阅读(114) 评论(0) 推荐(0)
摘要:Description 一个双端队列,让字典序最小,\(n\leqslant 3\times 10^4\)。 Solution 后缀数组。 反过来接在后面,排序。 注意80个要换行... 双倍经验1640 Code 阅读全文
posted @ 2017-03-30 11:38 北北北北屿 阅读(110) 评论(0) 推荐(0)
摘要:Description 一个环,求字典序排列,\(n\leqslant 10^5\) Solution 后缀数组。 把串复制一遍在后面,排序就行了... Code 阅读全文
posted @ 2017-03-30 09:55 北北北北屿 阅读(128) 评论(0) 推荐(0)
摘要:Description 将两个字符串合并成一个,让字典序最小。\(n\leqslant 2\times 10^5\) Solution 后缀数组+贪心。 和起来排个序,然后按\(rank\)贪心选就好,注意在字符串最后放个比较大的分割符。 Code 阅读全文
posted @ 2017-03-30 09:27 北北北北屿 阅读(111) 评论(0) 推荐(0)
摘要:Description 一个长度为\(n\)的字符串,\(m\)个询问,求\([a,b]\)所有子串和子串\([c,d]\)的最长公共前缀。 Solution 后缀数组+二分+主席树。 和子串的最长公共前缀,一定是离这个子串\(rank\)相近的,那么可以直接以\(rank\)为关键字建主席树,前缀 阅读全文
posted @ 2017-03-30 08:44 北北北北屿 阅读(163) 评论(0) 推荐(0)
摘要:Description 将字符串分成\(k\)段,让子串字典序最大的尽量小。 Solution 后缀数组+二分。 二分最大的子串,然后\(O(n)\)的判断即可。 Code 阅读全文
posted @ 2017-03-30 08:36 北北北北屿 阅读(184) 评论(0) 推荐(0)
摘要:Description 求本质不同的子串排名为\(i,j\)的两个子串最长公共前缀和最长公共后缀的平方。\(n\leqslant 10^5,q\leqslant 10^5\) Solution 后缀数组+ST表。 本质不同的子串可以用过\(n-sa[i]+1-ht[i]\)得到一个后缀的本质不同后缀 阅读全文
posted @ 2017-03-29 11:20 北北北北屿 阅读(174) 评论(0) 推荐(0)
摘要:Description 有\(n\)台机器,每个机器在\(d_i\)天可以购买,代价为\(p_i\),每天只能使用一台机器,每天每台机器会产生\(g_i\)的收益,可以在任意时候卖出得到\(r_i\),买入那天和卖出那天没有收益,可以在一天卖出一台,买入一台,一共\(d\)天,一开始有\(c\)元, 阅读全文
posted @ 2017-03-28 07:54 北北北北屿 阅读(213) 评论(0) 推荐(0)
摘要:Description 求一个最长上升子序列,支持修改。\(n,m\leqslant 10^5\) Solution 线段树。 线段树维护区间最大值和区间最长上升子序列长度。 主要的就是一个\(getw(x,v)\),表示\(x\)节点从\(v\)进入后最长上升子序列长度。 两种情况 一种是\(v\ 阅读全文
posted @ 2017-03-27 08:29 北北北北屿 阅读(139) 评论(0) 推荐(0)
摘要:Description 求\(\sum_{i=0}^{n} \sum_{j=1}^{a+i \times d} \sum_{l=1}^{j}l^k\) \(k\leqslant 123,a,n,d< p=123456791\) Solution 多项式插值。 这个好像可以xjb乱插值,自然数幂和是一 阅读全文
posted @ 2017-03-26 08:02 北北北北屿 阅读(211) 评论(0) 推荐(0)
摘要:Description 一棵树,求经过所有黑点的最短回路。\(n\leqslant 10^5\) Solution set DFS序。 一个回路,这个回路可以是所有黑点之间路径上的点作为起点,然后按照DFS序遍历所有点得到。 然后用set维护黑点按DFS序排序后相邻两点之间的距离和即可,注意最后一个 阅读全文
posted @ 2017-03-25 14:49 北北北北屿 阅读(128) 评论(0) 推荐(0)
摘要:Description 有\(p\)的概率没有被加密。求期望。 如果没有被加密那么求\([0,n)\)随机选择一个数\(x\)然后再选择小于\(n\)的\(y\)使\(x\)^\(y\)最大的异或和的期望。 如果被加密那么求随机选择\([0,n)\)两个数\(x,y\),求异或和的期望。 Solut 阅读全文
posted @ 2017-03-24 15:28 北北北北屿 阅读(203) 评论(0) 推荐(0)
摘要:Description 求\(\sum_{i=0}^{n-1}\sum_{i=0}^{n-1}max\{i\)^\(j-k,0\}\) \(n,m\leqslant 10^{18},k\leqslant 10^9\) Solution 数位DP。 我好弱啊qwq... \(f[i][na][nb][ 阅读全文
posted @ 2017-03-24 15:20 北北北北屿 阅读(212) 评论(0) 推荐(0)
摘要:Description 一棵树有黑白点,求最近黑点祖先。 Solution 树链剖分。 我居然敲了15min? Code 阅读全文
posted @ 2017-03-23 22:00 北北北北屿 阅读(177) 评论(0) 推荐(0)
摘要:Description 一棵树求路径上颜色个数,支持修改。 Solution 树链剖分... 我差不多是个zz了...又忘下放标记... Code 阅读全文
posted @ 2017-03-23 21:34 北北北北屿 阅读(165) 评论(0) 推荐(0)
摘要:Description 一棵树支持以下操作。 修改颜色,修改权值。 问\(x,y\)路径上与\(x\)同色中最大值,和。 Solution 树链剖分。 对于每个颜色建一个动态开点的线段树即可。 Code 阅读全文
posted @ 2017-03-23 17:31 北北北北屿 阅读(134) 评论(0) 推荐(0)
摘要:Decription 求将\(1...d\)分别与\(n,n-1,...,n-d+1\)连通的最小代价。 \(n\leqslant 10^4,m\leqslant 10^4,d\leqslant 4\) Solution 斯坦纳树+装压DP。 首先用斯坦纳树处理出,每个点的与几个关键点连通状态的最小 阅读全文
posted @ 2017-03-22 16:28 北北北北屿 阅读(192) 评论(0) 推荐(0)
摘要:Description 给出一棵二叉树的结构,每次询问一个区间,将路径上的点染黑,求最小询问次数。 Solution 网络流。 好厉害的题啊 =w=。 首先可以发现的是,询问一个区间,一定是一段连续的左节点加上一段连续的右节点。 如果是左节点,代表区间\([l,r]\),那么另一个询问的端点一定是\ 阅读全文
posted @ 2017-03-22 10:38 北北北北屿 阅读(200) 评论(0) 推荐(0)
摘要:Description 同上题。 Solution 双倍经验! 最近博客好少...来骗骗访问... Code 阅读全文
posted @ 2017-03-22 10:27 北北北北屿 阅读(122) 评论(0) 推荐(0)
摘要:Description \(n\)个节点,每个节点有一个攻击代价和需要攻击的次数。 有\(k\)个关系,攻击\(x\)后,\(y\)的攻击代价变成\(z\)。 Solution 朱刘算法。 这个好像就是求什么最小树形图的东东... 最小树形图跟最小生成树差不多,不过最小生成树是无向图,最小树形图是有 阅读全文
posted @ 2017-03-22 10:26 北北北北屿 阅读(176) 评论(0) 推荐(0)
摘要:Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。\(n\leqslant 1000,a_i\leqslant 10^5\) Sol 阅读全文
posted @ 2017-03-14 16:46 北北北北屿 阅读(154) 评论(0) 推荐(0)
摘要:Description 有\(n\)堆石子,将这\(n\)堆石子摆成一排。游戏由两个人进行,两人轮流操作,每次操作者都可以从最左或最右的一堆中取出若干颗石子,可以将那一堆全部取掉,但不能不取,不能操作的人就输了。 Solution 博弈+区间DP. 这道题好厉害啊qwq... 首先一个区间\([l, 阅读全文
posted @ 2017-03-14 16:44 北北北北屿 阅读(222) 评论(0) 推荐(0)
摘要:Description N个石子,A和B轮流取,A先。每个人每次最少取一个,最多不超过上一个人的个数的2倍。取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个。\(n\leqslant 10^{15}\) Solution 博弈。 这是一个斐波拉契博弈问题... 其实跟巴什博弈差不 阅读全文
posted @ 2017-03-14 16:38 北北北北屿 阅读(150) 评论(0) 推荐(0)
摘要:Description Alice和Bob在玩游戏。有n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最 小的点。Alice和Bob轮流操作,每回合选择一个没有被删除的节点x,将x及其所有祖先全部删除,不能操作的人输 。 Solution 博弈+Trie树合并 阅读全文
posted @ 2017-03-14 16:31 北北北北屿 阅读(525) 评论(3) 推荐(0)
摘要:Description 支持合并和求最小值。 Solution 可并堆-左偏树。 前几天随便看了一下...感觉也挺好写的... Code 阅读全文
posted @ 2017-03-14 16:26 北北北北屿 阅读(136) 评论(0) 推荐(0)
摘要:Description 给定一个长度为\(N\)的数组\(A[]\),求有多少对\(i, j, k(1\leqslant i<j<k \leqslant N)\)满足\(A[k]-A[j]=A[j]-A[i]\)。 Solution 分块FFT。 每个暴力求需要\(n\)次FFT。 分块的话,FFT 阅读全文
posted @ 2017-03-14 16:22 北北北北屿 阅读(185) 评论(0) 推荐(0)