链接:https://ac.nowcoder.com/acm/contest/892/D
来源:牛客网
题目:温暖的签到题
给你一个长度为n的序列,初始为1,2,3…n,对其进行m次操作。
操作有两种:
1 l r 表示将区间[l,r]用 [1,2…r-l+1] 覆盖
2 l r 查询[l,r]的区间和
输入描述:
第一行包含2个数字,n,m(1 <= n,m <= 1e5)
接下来包含m行,格式如题面所示
输出描述:
对于每个操作2,输出一行一个整数表示答案
输入
复制
10 5
2 1 10
1 3 6
2 1 10
1 1 10
2 1 10
输出
55
47
55
题目叫温暖的签到题, 但我感受到了浓浓的恶意, 比赛时知道要用线段树做, 但自己的线段树只会基本的, 区间修改和懒惰节点自己不会, 而所学的线段树模式是左开右闭的很容易出错, 趁着这个题, 把线段树好好搞了下, 调bug调了好久,比较复杂容易出错
#include
#include
#include
#include
#include
#include
#include
#include
#include
更新一个更加成熟的代码
#include
#include
#include
#include
#include
#include
#include
#include
#include