随笔分类 - C++_数据结构
摘要:算法 贪心(黑题?) 思路 考虑如何让每一位演奏家发挥最大作用,不难发现,当每一位演奏者优先处理自己能力范围内左端点最小的区间时可以达到最优。 所以,我们可以将乐曲和演奏者按照右端点排序,并用$set$维护乐曲左端点,对于每一个演奏者,将ta的左端点${lower_bound}$一下就好了。 注意
阅读全文
摘要:思路 显然,这题正着不太好推,那么就考虑二分答案,有一个很大的问题,我们需要在$O(n\log n)$或者$O(n)$的时间内判断我们二分答案的可行性。首先肯定想到贪心,但是你会发现每一个元素需要加的值不一样,加了值以后影响的范围也不一样,并不好维护。 因为涉及到区间修改,考虑使用线段树。我们维护每
阅读全文
摘要:这题面不禁让我联想到了树剖 思路 显然,这道题并不需要树剖毕竟它只是蓝题,不过,它也需要用到$DFS$序,把树上操作转化成序列操作(这个思想可以说很套路了),但这题有一个麻烦的地方:在修改子树时每一条边都会对修改值造成影响,而这用线段树是难以维护的。 于是我们考虑将边上的影响分离出来,可以先预处理出
阅读全文
摘要:题意 有一张由黑白点构成的网格图,给出一些黑点的坐标,求上下左右都有黑点(不必相邻)的白点数目与原来黑点数目之和。 一个说明 为什么原题面中永不终止的情况是不可能的? 对于每一个将会被染成黑色的白点,它的上方,下方,左边,右边(不必相邻)一定是都是有黑点的,而一个既不在所属列的两端,又不在所属行的两
阅读全文
摘要:题意 给出一个序列与若干个区间,求每一个区间内出现次数大于等于2的数的个数 算法 树状数组离线(连主席树都敢卡……) 思路 求出现次数的题,基本都是这个套路 e.g.Luogu1972 HH的项链 考虑对于区间$l-r$,每一种颜色只有倒数第二个对答案有影响(因为这是该颜色最晚可以被计入答案的位置,
阅读全文
摘要:细节狂魔题 **题意:**维护一个$01$序列,支持区间修改(全部变$0$或$1$),区间取反,区间求和,区间求最长1序列 做法 显然应该用线段树维护。 线段树需要维护:每段区间内$0$的数量,$1$的数量,最长$1$序列长度,最长$0$序列长度,从左端点开始的0/1序列长度,从右端点开始的$0/1
阅读全文
摘要:引入 RMQ问题: 给定一个长度为$n$的序列$A_{1 - n}$,有$q$次询问,每次询问给出$x,y$,回答$A_$中的最大值(也可以是最小值,此处以最大值为例) 通常$n,q \leq 100000$。 利用倍增解决这类问题的算法叫做ST表。 ST表 对于序列$A_{1-n}$,我们构造一个
阅读全文
摘要:####1. 主席树: #####https://blog.csdn.net/ModestCoder_/article/details/90107874#t0 ####2. Splay: #####https://www.luogu.com.cn/blog/user19027/solution-p3
阅读全文

浙公网安备 33010602011771号