题解:
先排序然后插入线段树
用线段树每次对全区间进行操作。
然后维护哪些段区间溢出了,对这段区间进行赋值。
溢出处理:
一个区间的左端点大于最大值,或者右端点小于最小值
那么这个区间就该被覆盖。
覆盖,加特技:
乘0+x就是覆盖成x。
剪枝?:
一个区间右端点≤\leq最大值,或者左端点≥\geq最小值,那么return
代码:
#include
#in...
分类:
其他好文 时间:
2015-03-03 15:15:08
阅读次数:
648
题目大意:给定n个操作,每个操作有四种形式,操作之后若R就变成R,现在给定q个输入,求他们的输出
n,q
将这q个数建立线段树,四个操作都可以在线段树上完成
但是溢出怎么办呢?
容易发现若x
因为四个操作都是线性的,溢出也不会反转两个数的大小关系
那么我们可以预先将q个数排序 那么溢出的数一定是连续的两段 区间修改就行了
至于怎么找两端溢出的区间…… 每个节点维护一个区间最大值和最小...
分类:
其他好文 时间:
2015-03-01 23:51:49
阅读次数:
451