随笔分类 - 数据结构-树状数组
摘要:# 题目 有一次机灵鬼和学长可爱多打比赛, 可爱多不会做一道字符串题,机灵鬼做了很久终于做出来了,这是机灵鬼第一次做出可爱多不会的题。 可爱多觉得很丢人,于是准备研究字符串。可爱多精通 算法。 算法的输入是一个字符串 ,该算法的核心是对
阅读全文
摘要:题目 点这里看题目。 分析 可以说,这是一道思路比较常规的题目,但是某些看待问题的角度还是可以学习的。 首先从题目中注意到两个关键信息: 最长最短路——直径——联系到原树的直径; 显然答案是可以二分的; 原树的直径这个东西怎么用?我们不妨先把原树的直径提作“根”。下面是一个显然的结论: 新加边的一个
阅读全文
摘要:题目 点这里看题目。 分析 容易看出,将序列分割并且递归,其实并不会影响排序过程。它影响的是 work_counter 的值——如果分割出了长度为 1 的序列,那么这个序列里面的值将不再贡献。而分割出长度为 1 的序列,其实就相当于某个元素到了它应该到的位置,并且在此之后不会被挪动。我们称这个元素成
阅读全文
摘要:题目 点这里看题目。 分析 比较典型的题目! 首先可以去掉:只能到达一个出口的机器人,它们不影响答案。 剩余的机器人就会分别有两个可用出口,我们可以记到左边一个的距离为 ,右边一个距离为 ,那么一个机器人就可以用平面上的点 来表示。 分析移动过程,左、右移动相
阅读全文
摘要:题目 又是一个条历新年,窗前的灼之花又盛开了。 时隔多年,现在只有这一棵树上盛开着残存的 朵灼之花了。 尽管如此,这些灼之 花仍散发出不同色彩的微弱的光芒。 灼之花的生命极为短暂,但它的花色与光亮瞬息万变。 作为条条的粉丝,Little Q 细致 地记录了最初每朵灼之花的花色 \(c_i
阅读全文
摘要:题目 点这里看题目。 分析 显然要先计算前缀和。 同样地考虑按位计算贡献。假设当前枚举到了第位,正在枚举第个前缀和,设的第位为,后位为。由于子区间和就是前缀和做差,我们就考虑什么情况下,前缀和做差后在位上为 1 。 若$b(
阅读全文
摘要:题目 "点这里" 看题目。 分析 首先,我们不需要真的从 AC 自动机中把串删掉。由于我们计算贡献和,我们只需要在 AC 自动机上,把已经删除的串的贡献抹掉就可以了。 接着考虑询问。这是一个很基础的问题,一般我们会在 AC 自动机上面处理出每个状态的贡献和,并且将询问的字符串在 AC 自动机上面跑一
阅读全文
摘要:题目 "点这里" 看题目。 分析 首先发现,对于的合法三元组,一定在的子树内,并且也是的祖先。那么我们只需要考虑的位置。如果是的子孙,那么一定就是的子孙,此时的贡献是(我们以下都用表示的
阅读全文
摘要:题目 "点这里" 看题目。 分析 看到中位数,当然会想到二分答案。 考虑检查答案。自然,我们需要找出中位数小于二分值的区间的个数。考虑构造一个: 可以发现,这个满足,如果区间的中位数小于,则$\sum_{i=l
阅读全文
摘要:题目 "点这里" 看题目。 BZOJ 目测......是炸了。 分析 动态点分治入门题。 首先理解什么叫 " 动态点分治 "。 一般点分治需要离线解决,不带修改。动态点分治可以用点分治的方法在线解决问题,支持修改。 在点分治的过程中,每个点都会成为一次分治中心进行计算。如果我们将点按照计算顺序连成一
阅读全文