随笔分类 -  数据结构-树状数组

摘要:# 题目 有一次机灵鬼和学长可爱多打比赛, 可爱多不会做一道字符串题,机灵鬼做了很久终于做出来了,这是机灵鬼第一次做出可爱多不会的题。 可爱多觉得很丢人,于是准备研究字符串。可爱多精通 kmp 算法。kmp 算法的输入是一个字符串 S,该算法的核心是对 阅读全文
posted @ 2023-06-12 21:41 crashed 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 可以说,这是一道思路比较常规的题目,但是某些看待问题的角度还是可以学习的。 首先从题目中注意到两个关键信息: 最长最短路——直径——联系到原树的直径; 显然答案是可以二分的; 原树的直径这个东西怎么用?我们不妨先把原树的直径提作“根”。下面是一个显然的结论: 新加边的一个 阅读全文
posted @ 2022-02-27 22:38 crashed 阅读(58) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-11-11 20:41 crashed 阅读(0) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 容易看出,将序列分割并且递归,其实并不会影响排序过程。它影响的是 work_counter 的值——如果分割出了长度为 1 的序列,那么这个序列里面的值将不再贡献。而分割出长度为 1 的序列,其实就相当于某个元素到了它应该到的位置,并且在此之后不会被挪动。我们称这个元素成 阅读全文
posted @ 2021-08-27 15:48 crashed 阅读(70) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-06-18 18:52 crashed 阅读(0) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 比较典型的题目! 首先可以去掉:只能到达一个出口的机器人,它们不影响答案。 剩余的机器人就会分别有两个可用出口,我们可以记到左边一个的距离为 x,右边一个距离为 y,那么一个机器人就可以用平面上的点 (x,y) 来表示。 分析移动过程,左、右移动相 阅读全文
posted @ 2021-06-18 16:57 crashed 阅读(51) 评论(0) 推荐(0) 编辑
摘要:题目 又是一个条历新年,窗前的灼之花又盛开了。 时隔多年,现在只有这一棵树上盛开着残存的 n 朵灼之花了。 尽管如此,这些灼之 花仍散发出不同色彩的微弱的光芒。 灼之花的生命极为短暂,但它的花色与光亮瞬息万变。 作为条条的粉丝,Little Q 细致 地记录了最初每朵灼之花的花色 \(c_i 阅读全文
posted @ 2020-08-23 21:49 crashed 阅读(146) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 设F(T)为温度为T的时候火系战士能量和,I(T)T时冰系战士能量和。 显然我们需要求: max{min{F(T),I(T)}} 另一个显然的事情是,F(T)是一个后缀和,I(T)是一个前缀和;因而F(T)单减,$I(T) 阅读全文
posted @ 2020-07-05 13:54 crashed 阅读(192) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 显然要先计算前缀和s。 同样地考虑按位计算贡献。假设当前枚举到了第k位,正在枚举第i个前缀和,设x的第k位为b(x),后k1位为l(x)。由于子区间和就是前缀和做差,我们就考虑什么情况下,前缀和i做差后在k位上为 1 。 若$b( 阅读全文
posted @ 2020-06-13 22:57 crashed 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题目 "点这里" 看题目。 分析 首先,我们不需要真的从 AC 自动机中把串删掉。由于我们计算贡献和,我们只需要在 AC 自动机上,把已经删除的串的贡献抹掉就可以了。 接着考虑询问。这是一个很基础的问题,一般我们会在 AC 自动机上面处理出每个状态的贡献和,并且将询问的字符串在 AC 自动机上面跑一 阅读全文
posted @ 2020-05-19 14:02 crashed 阅读(119) 评论(0) 推荐(0) 编辑
摘要:题目 "点这里" 看题目。 分析 首先发现,对于(a,b,c)的合法三元组,c一定在a的子树内,并且b也是c的祖先。那么我们只需要考虑b的位置。如果ba的子孙,那么c一定就是b的子孙,此时的贡献是siz(b)1(我们以下都用siz(u)表示u阅读全文
posted @ 2020-05-14 13:57 crashed 阅读(119) 评论(0) 推荐(0) 编辑
摘要:题目 "点这里" 看题目。 分析 看到中位数,当然会想到二分答案。 考虑检查答案。自然,我们需要找出中位数小于二分值k的区间的个数。考虑构造一个bbi=(1)[aik] 可以发现,这个b满足,如果区间[l,r]的中位数小于k,则$\sum_{i=l 阅读全文
posted @ 2020-04-12 17:24 crashed 阅读(241) 评论(0) 推荐(0) 编辑
摘要:题目 "点这里" 看题目。 BZOJ 目测......是炸了。 分析 动态点分治入门题。 首先理解什么叫 " 动态点分治 "。 一般点分治需要离线解决,不带修改。动态点分治可以用点分治的方法在线解决问题,支持修改。 在点分治的过程中,每个点都会成为一次分治中心进行计算。如果我们将点按照计算顺序连成一 阅读全文
posted @ 2020-03-27 19:36 crashed 阅读(69) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示