
解题思路:看到题目,经典的区间查询+区间修改,我们用线段树维护一段区间的最小值,每当有新的订单,我们就先查询订单时间范围内的最小教室数量,然后与Dj作比较,如果比dj小,那么我们可以标记为false,然后后面的操作都不用看了,因为他只要求输出第一个不满足的订单,否则就按照订单进行区间修改,即在该订单的开始时间和结束时间这个范围内都减少dj个教室。
Code:
#include
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int N = 1000005;
ll a[N],tree[N
关注
打赏
立即登录/注册


微信扫码登录