CF競(jìng)賽題目講解_CF1405E(樹狀數(shù)組)
2022-07-31 10:47 作者:Clayton_Zhou | 我要投稿
//https://codeforces.com/problemset/problem/1405/E
?給定一個(gè)序列,當(dāng) a[ i] = i ,也就是對(duì)應(yīng)位置的數(shù)字等于下標(biāo)時(shí),可以刪除這個(gè)數(shù)。然后該數(shù)之后的數(shù)全體前移一位。
? ? ? ?很容易可以得到結(jié)論,令 fi? 為前 i? 個(gè)數(shù)中可以刪的數(shù)據(jù)個(gè)數(shù)。當(dāng)前數(shù)可以刪除當(dāng)且僅當(dāng) i ? a[i] ≤ fi
? ? ? ?查詢?yōu)閷?[1,x] 和[n?y+1,n] 的范圍內(nèi)的 a[i]? 改為 n+1 時(shí)(下文稱做屏蔽),問(wèn)你此時(shí)最多能刪多少個(gè)數(shù)。
? ? ? ?對(duì)于每個(gè)數(shù),考慮屏蔽前 x 個(gè)數(shù)時(shí),能否刪除。? ?我們考慮最大的 x,作為limit,屏蔽前 x 個(gè)數(shù)且 x ≤limit時(shí),可以正常刪除,否則不能。
input
?
13 5
2 2 3 9 5 4 6 5 7 8 3 11 13
3 1
0 0
2 4
5 0
0 12
標(biāo)簽: