闲扯
大佬们都太巨辣!!
题解里面都是用的 $ODT$ 和动态开点线段树,这些我都不会啊 $qwq$ ,所以我选择直接用线段树来做这道题。
题面
CF915E Physical Education Lessons
Solution
看到题的第一反应使用线段树维护区间覆盖操作,然后看数据范围,发现是 $10^9$ ,当场懵逼。
想想怎么办。
突然发现 $q\leq 3\cdot10^5$ ,那么涉及到的端点最多只有 $6\cdot10^5$ 个,这个貌似是可以用线段树维护的。
我们用线段树维护两个相邻的端点之间形成的区间,同时维护区间和即可。
然后发现如果直接离散化给出的端点,在 $l=r$ 的情况下会出现 $l>r$ 的情况,所以我们将右端点加 $1$ ,然后每一个线段的长度直接用右端点减左端点即可。
然后对于没有涉及到的我们直接存下来,在输出答案时加上就好。
Code
1 |
|
总结
一道挺裸的线段树的题,只是需要稍微转换一下。