![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
主 席树
文章平均质量分 58
可持久化线段树
李峻枫
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #429 (Div. 1) D. Destiny
题目大意给出一个长度为nnn的数列a1,a1,⋯ ,ana_1,a_1,\cdots,a_na1,a1,⋯,an有qqq次询问,每次询问给出l,r,kl,r,kl,r,k,询问区间[l,r][l,r][l,r]中出现次数严格大于r−l+1k\frac{r-l+1}{k}kr−l+1的最小的数是多少。如果不存在满足题意的数,就输出-1。时间限制2.5s数据范围n,q≤3×105n,q\le 3\times 10^5n,q≤3×105ai≤na_i\le nai≤n2≤k≤52\l原创 2021-07-25 09:31:23 · 139 阅读 · 0 评论 -
A - 大佬集中营
A - 大佬集中营题目大意给定一个序列,每次询问某个区间中的数,能分成最少多少个集合,每个集合中出现次数最多的次数不能超过集合大小的一半(上取整)。而且每个集合的大小尽可能大。题解不难发现,一个区间里的所以数,一定都是会被分配完的,只有因为一个数的集合也是满足题意的。接下来,最关键的一步,就是发现答案与区间众数的关系:如果该区间的众数,都没有超过一半,那很显然,只需要分成一组当其众数超过一半了,则不妨假设众数为k,答案就是2×k−(r−l+1)2 \times k - (r - l + 1)原创 2021-06-05 22:57:25 · 207 阅读 · 0 评论 -
JZOJ5933. 【NOIP2018模拟10.27】百鸽笼
题目在JOU管理员群里一共有n(n≤200000)个管理员,为了容纳这些管理员,vfk准备了n个鸽笼。每个 鸽笼中都装有一个咕咕能力值为vi的鸽子,每只鸽子能力值不一定相同。每当RU开始或结束或 咕咕咕时,管理员们就会对这些鸽笼进行操作。操作包括三种:1 vfk和管理员们取出最左端的鸽笼。2 v vfk和管理员们在最左侧新放入一个装有咕咕能力值为v的鸽子的鸽笼。3 l r k vfk想要知...原创 2018-10-27 15:20:13 · 321 阅读 · 0 评论