[tyvj1473]校门外的树3

好吧这只是个噱头,这道题由于zz的tyvj一直不给我发邮件,所以只是精神AC…….
这里写图片描述
然后。。。在half an hour之后,我依然没收到他的邮件。。。refuse

描述

校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的……
如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:
K=1,读入l,r表示在l~r之间种上的一种树
K=2,读入l,r表示询问l~r之间能见到多少种树
(l,r>0)
输入格式

第一行n,m表示道路总长为n,共有m个操作
接下来m行为m个操作
输出格式

对于每个k=2输出一个答案
测试样例1

输入

5 4
1 1 3
2 2 5
1 2 4
2 3 5
输出

1
2
备注

范围:20%的数据保证,n,m<=100
60%的数据保证,n <=1000,m<=50000
100%的数据保证,n,m<=50000
注意:树是可以重叠的,比如1号位置上可以种多种树

题解:
p与tree同时维护,p表示左右儿子的重复树种数,想要更改这个值:①如果区间被完全覆盖,那么一定左右子树都有分布;②如果在进行下一步操作时(l,mid)和(mid+1,r)都做了,那么也证明有分布;那么最后的值就是求和-p[now]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值