xuxuxuxuxu
xuxuxuxuxu
全部文章
题解
未归档(20)
归档
标签
去牛客网
登录
/
注册
xuxuxuxuxu的博客
全部文章
/ 题解
(共5篇)
CF700E Cool Slogans
来自专栏
题目: CF700E Cool Slogans 题意: 给定一个字符串,要求构造字符串序列,满足任意都是的子串,且任意 ,都有在中出现了至少次(可以有重叠部分,只要起始、结尾位置不同即可)。求可能的最大的 的值(即序列的最大可能长度)。 题解: 要求的字符串序列一定是的子串的,再,再...... ...
线段树
后缀数组
2020-10-14
0
913
题解 CF280D 【k-Maximum Subsequence Sum】
来自专栏
题解 CF280D 【k-Maximum Subsequence Sum】 题意: 长度为的数列,支持两种操作: 1.修改某个位置的值 2.询问区间里选出至多个不相交的子段和的最大值。 一共有个操作 题解:线段树+堆 当k=1是答案就是最大子段和 当k=2是答案就有两种情况了: 1:最大子段和+不相...
线段树
堆
2020-01-17
0
750
题解 P5471 【[NOI2019]弹跳】
来自专栏
题解 P5471 【[NOI2019]弹跳】 做法:思维+动态开点线段树+分块 首先我们考虑最短路做法,发现边数是级别的。一维的情况我们能用线段树优化建边,但二维呢?反正我不会。 我们想到Dijkstra的思想,每次找到dis最小的点,并用这个点去更新其他点。 我们把矩形看成点,相当于每次找出dis...
线段树
分块
2020-01-17
0
791
题解 CF392D 【Three Arrays】
来自专栏
题解 CF392D 【Three Arrays】 题解 首先肯定是要枚举一个的,我枚举的是(中的位置)。 但我们不能从小到大枚举,要从大到小枚举。 为什么呢?从大到小枚举的话,相当于是每次会多一些限制,这样比较好维护(如果是撤销限制,那不是很麻烦吗)。 考虑会多什么限制呢? 就是那个数原来是在中被消...
线段树
2020-01-17
0
705
题解 CF1288E 【Messenger Simulator】
来自专栏
题解 CF1288E 【Messenger Simulator】 简单思维+数据结构 1.首先发现x的最小值一定是x或1(x出现过就为1,否则为x) 2.然后我们发现x最大值要么是x,要么是出现x 之前的 x所在位置。这个我们直接用线段树维护每个值的位子即可。相当于对于一个数,他会把比他大的数都加1...
线段树
2020-01-17
0
557