#595. 乐曲创作(Hard Version)

乐曲创作(Hard Version)

这是这个问题的 easy 版本,和 hard 唯一的区别是这个版本 q2×106q\le 2\times 10^6,你不必须解决两个版本。

题目背景

2024 杭电多校 R8 T7 乐曲创作 中,出题人巧妙的将“数据结构”与 DP 结合起来,很好地考察了选手的综合能力。

数据结构大师 fresh_boy 深以为然:“噢,这题目出的太妙了,原来题目可以这样出。把一道 O(n2)O(n^2) 优化到 O(n)O(n) 的 DP 题,加一个比较小的询问次数,就可以变成一道新题了,还会让选手以为是什么数据结构题。”

fresh_girl:“那他为什么不直接把 nn 开大,只进行一次询问?”

fresh_boy:“说明你没有懂题目的精髓,把 nn 开大只做一次,不就让你看出来是 O(n)O(n) 做法了吗?”

题目描述

众所周知,fresh_boy 喜欢创作乐曲。

不根据《袋鼠韵律法则》,一首乐曲应由一定量的音符组成,一首乐曲被认为是“美妙动听”的,当且仅当这首乐曲的音符数在 [x,y][x,y] 之间。

现在 fresh_girlnn 次操作,创作了一首有 mm 个音符的乐曲。

因为 fresh_boy 不喜欢创作乐曲,所以他想直接抄袭 fresh_girl 的创作过程。fresh_girl 不想给 fresh_boy 抄,所以她并没有完整地告诉 fresh_boy 创作过程,她在第 iifresh_boy 来询问时,只告诉他第 lil_i 次到第 rir_i 次的操作,并且告诉他乐曲的音符数在 [xi,yi][x_i,y_i] 之间是“美妙动听”的。

不过,fresh_girl 告诉你了每一次的操作是加入了一个音符还是拿掉了一个音符。

fresh_boy 只能使用 fresh_girl 的连续一段操作方法, fresh_boy 希望你帮助他,他是否能创作出“美妙动听”的乐曲?

fresh_girl 说创作出有奖励,创作不出有惩罚。

所有询问之间独立

输入格式

第一行两个正整数分别表示 n,q(1n105,1q2×106)n,q(1\le n\le 10^5,1\le q\le 2\times 10^6)。 第二行 nn 个整数表示 a1,...,ana_1,...,a_nai=0a_i=0 表示拿掉了一个音符,ai=1a_i=1 表示加入了一个音符。 接下来 qq 行,每行四个整数 $l_i,r_i,x_i,y_i(1\le l_i\le r_i\le n,1\le x_i\le y_i\le n)$ 表示一次询问。

输出格式

输出共 qq 行,每行输出 Yes 表示 fresh_boy 一定可以创作出“美妙动听”的乐曲,输出 No 表示 fresh_boy 可能无法创作出“美妙动听”的乐曲。

5 3
0 1 1 0 1
1 5 1 2
1 5 1 3
1 2 1 2
Yes
No
No