再来水一发树剖QwQ。
传送门
题解
首先这题上来先树剖。
然后考虑线段树怎么写。
对于每一个节点,需要记录它所控制的区间中颜色的段数、开头的颜色和结尾的颜色。
合并两个区间的时候,需要判断前面区间结尾颜色是否等于后面区间的开头颜色,如果相同区间颜色段数要减一。
其他按照树剖的套路写就行了。
然后就没了QwQ…
代码
1 |
|
再来水一发树剖QwQ。
首先这题上来先树剖。
然后考虑线段树怎么写。
对于每一个节点,需要记录它所控制的区间中颜色的段数、开头的颜色和结尾的颜色。
合并两个区间的时候,需要判断前面区间结尾颜色是否等于后面区间的开头颜色,如果相同区间颜色段数要减一。
其他按照树剖的套路写就行了。
然后就没了QwQ…
1 | #include<cstdio> |