指望得分:80+100+0數組
實際得分:70+80+0網絡
rk:18ui
T1連續爆炸篇排序
第一眼拓撲,發現要存狀態,定義了個dp,腦子糊了不知道怎麼處理多起點多終點,以爲十分不可作。而後發現能夠記憶化,然而不會打。class
因而盯了40分鐘,想了各類亂七八糟的東西,卡T1慌得一批。爲了緩和下,滾去T2。變量
打完T2回來仍是沒什麼可A的複雜度,而後打了個O(mv^2)每一個起點拓撲跑了。查詢
正解:建虛點S,T時間
S向入口連邊,權值爲排隊時間,出口相似。而後就只須要跑一遍拓撲。O(v^2)header
定義dp[i][j]爲到i點的鏈長爲j的最短期,拓撲更新便可。mv
以上實際上是網絡流建圖的經常使用套路,然而考試大腦短路。
簡化:給定序列ai,q個[k,l]的詢問,回答[k,l]中全部知足區間中不一樣數的個數>=m的子區間[i,j]的j-i之和。
第一眼莫隊,發現區間能夠轉移,[l,r]->[l,r+1]的答案增量爲以r+1爲右端點的全部知足>=m限制且左端點座標>=l的等差數列之和。
性質:
定義pre[i]表示以i爲右端點,最大的知足限制的左端點。
suf[i]表示以i爲左端點,最小的知足限制的右端點。
那麼[l,r]->[l,r+1],能造成貢獻的左端點範圍爲[l,pre[r]],等差數列求和便可。
複雜度$\Theta(n+q \sqrt{n})$
然而乘法運算沒ll,WA80,跟O(qn)暴力一個分。。。
正解:
拆式子,維護變量。
對於全部詢問[l,r]按r排序,而後把r的合法答案放到pre[r]上,用樹狀數組維護,回答查詢>=k處的和。
不會