پس از اینکه روابط ایران و مصر بهبود یافت، سه نفر از ایرانیان توانستند ویزای مصر را اخذ کنند. آنها پس از رسیدن به مصر، قصد دارند که اول از خیابان معروف «طلعت حرب» دیدن کنند. در این خیابان $n$ ساختمان وجود دارد که در یک خط صاف قرار دارند و به ترتیب از چپ به راست از $1$ تا $n$ شمارهگذاری شدهاند. همجنین زیبایی ساختمان $i$م برابر $a_i$ است.
حال در فرودگاه $Q$ تاکسی موجود است. تاکسی شماره $i$ آن سه نفر را در فرودگاه سوار کرده و مقابل ساختمان $l_i$ پیاده میکند و سپس در مقابل ساختمان $r_i$ منتظر میماند تا آنها را سوار کرده و به سمت هتل ببرد. ($l_i \leq r_i$) آنها اگر تاکسی شماره $i$ را انتخاب کنند، پس از پیاده شدن از تاکسی همواره به سمت راست میروند تا به ساختمان $r_i$ برسند و آنجا سوار تاکسی شوند.
آنها قصد دارند از تعدادی (حداقل یک) ساختمان بازدید کنند به طوری که ساختمانهای بازدید شده متوالی باشند. توجه کنید در حالت عادی فقط از مقابل ساختمان رد میشوند و لزوما از هر ساختمانی که از رو به روی آن گذر میکنند بازدید نمیکنند.
بازدید از یک ساختمان در صورتی برای آنها خوشایند است که اکثریت آنها (حداقل دو نفر) راضی به بازدید از آن ساختمان باشند.
آنها به ازای هر کدام از تاکسیها میخواهند بدانند که به چند طریق میتوانند تعدادی از ساختمانهایی که از رو به روی آنها گذر میکنند را انتخاب کنند و از آنها بازدید کنند. توجه کنید که آنها از ساختمان های $l_i$ و $r_i$ نیز میتوانند بازدید کنند. به عبارت دیگر آنها از ساختمانهای یک زیر بازه از بازهی $\left[l_i, r_i\right]$ بازدید میکنند.
همچنین نفر سوم به عنوان پیرترین نفر جمع به شما توصیه میکند که برای فهم بهتر سوال به نمونه ورودی ها توجه کنید.
در خط اول $n$ یا همان تعداد ساختمانها میآید.
در خط دوم $n$ عدد صحیح میآیند که عدد $i$م همان $a_i$ است.
در خط سوم $Q$ یا همان تعداد تاکسیها میآید.
در $Q$ خط بعدی در هر خط دو عدد $l_i, r_i$ به ترتیب میآیند.
در تنها خط خروجی $Q$ عدد چاپ کنید که عدد $i$م تعداد حالتهای بازدید کردن آنها در صورت استفاده از تاکسی $i$م است.
ورودی نمونه | خروجی نمونه |
---|---|
5 5 4 1 3 2 5 1 5 2 5 2 4 1 3 1 2 | 11 9 6 5 3 |
9 5 2 3 3 6 4 6 4 1 5 1 9 4 9 3 8 2 5 7 8 | 29 15 18 10 3 |
در ورودی نمونه اول به ازای تاکسی دوم، تعداد کل حالتهایی که میتوانند از تعدادی ساختمان متوالی بازدید بکنند برابر ۱۰ است. از بین این ۱۰ حالت، حالتی که از کل ساحتمان های بازه $\left[2, 5\right]$ بازدید بکنند خوشایند نیست؛ زیرا نفر اول و دوم راضی به بازدید از ساختمان با زیبایی ۳ نیستد.
سعی کنید سوالات را با کمترین راهنمایی از بالا به پایین حل کنید.
راهنمایی
شرط لازم و کافی برای قابل بازدید بودن یک بازه، چنین است که طول بلندترین زیردنباله نزولی (نه لزوما اکید) این بازه حداکثر ۲ باشد.
راهنمایی
به ازای هر ساختمان مانند $i$، کوچکترین $l$ را به دست میآوریم که بازهی $[l, i]$ شرط راهنمایی ۱ را داشته باشند. این مقدار را $left[i]$ می نامیم. در این صورت تمام بازههای $[j , i]$ به طوری که $l \le i \le r$ نیز شرط راهنمایی ۱ را دارند.
راهنمایی
جواب مسئله برای پرسش $[l,r]$ برابر با مجموع $(i - left[i] + 1)$ به ازای تمام $l \le i \le r$ است.
راهنمایی
دفت کنید که آرایهی $left[i]$ ها صعودی است.
راهنمایی
با استفاده از الگوریتمهای جست و جوی دودویی و جمع پیشوندی $(prefix \> sum)$ میتوان مقدار گفته شده در راهنمایی ۳ را در $O(\log{n})$ محاسبه کرد.