校门外的树

不相交的区间一定不会被计数,相交的区间一定会被计数

最后那个式子相当于容斥原理(先满足一个条件,再把不满足第二个条件的数目减去)

以上思路使用了转换对象法,从考虑询问(序列)到考虑树

update 2024.5.14

如果是统计\([1,r]\)中的种类数,注意这道题目跟之前的统计种类数的题目的不同之处,这里的相同种类的都是连在一起的,所以我们考虑给每个操作\(1\)\(l\)\(r\)的位置都加\(1\),然后统计\([1,r]\)的前缀和,设为\(x\),那么\(\lfloor\frac{x}{2}\rfloor\)就是答案

然后同理统计出\([1,l]\)的种类数,但是注意不能直接相减,要分类讨论一下\(l\)的位置(某个区间的右端点,左端点,中间或者不在任何区间内部)

update 2024.7.28

重新做一次做出来了,使用了转换对象法,但是没有像上图这么理解

考虑一次修改\([l,r]\),显然\(l\)的作用就是给\([l,n]\)加一,\(r\)的作用就是给\([r+1,n]\)减一,但是这个加一减一不是单纯地在同一个序列上加一减一,考虑加一的范围,要求查询区间的右端点不低于\(l\),考虑减一的范围,要求查询区间的左端点高于\(r\),于是可以想出上图做法

posted @ 2023-12-18 19:32  最爱丁珰  阅读(3)  评论(0编辑  收藏  举报