訓練日記 20161024

2021-07-23 23:35:32 字數 1763 閱讀 5772

初賽好像不會掛了,好開心!

版權原因,不上傳題目。

題意:求1∼

n(n≤

1000

) 的排列中逆序對恰好為

k 個的排列數目。多測。

題解:f[

i][j

]表示前

i 個數,逆序對個數恰好為

j的排列個數,易得轉移方程f[

i][j

]=∑i

−1k=

0f[i

−1][

j−k]

,用字首和優化可使複雜度降為o(

n2) 。

題意:對於乙個長度為n(

n≤2000

) 的序列,定義位置

i 的優美值為最長的區間[l

,r]的長度,使得l≤

i≤r ,且[l

,r] 中位數為位於位置

i 的數(比較時,以數值為第一關鍵字,下標為第二關鍵字進行比較,因此區間長度一定是奇數)。給出q(

q≤100000

)組詢問,每次詢問乙個區間內的優美值最大值。

題解:首先列舉位置,然後從該位置出發,用f[

i]記錄向左移動左端點時,比該位置大的數與比該位置小的數數量差恰好為

i 時的區間長度最大值,g[

i]記錄向右時的值,最後ma

x(f[

i]+g

[j])

(i+j

=0) 即為該位置的優美值。最後o(

n2) 預處理出每個區間的答案,o(

1)回答詢問。

題意:對於乙個初始為空的多重集,有三種操作,分別為加入乙個數、刪除乙個數,和給定乙個數

s 並詢問集合中x(

x∧s=

x)的個數,操作總數n≤

200000

,插入和查詢的數字

s 滿足

0<

s<216

題解:考慮兩種暴力做法:a.用f[

i]表示數字

i 的個數,對於每個詢問都列舉一遍

i,並驗證是否i∧

s=i ,從而使得單次插入複雜度為o(

1),單次詢問複雜度為o(

s),最差複雜度為o(

n⋅s)

b.用f[

i]表示滿足i∧

s=s 的數字

s 的個數。對於每次插入,都要列舉一遍

i,並驗證是否i∧

s=s 。單次插入複雜度為o(

s),單次詢問複雜度為o(

1),最差複雜度為o(

n⋅s)

。以上兩種暴力做法各有優劣,但都不夠優秀,因此想到平衡規劃。用f[

i][j

] 表示集合中滿足條件的數字

s 的個數,其前8位恰好為

i,且後8位與

j 進行按位與運算後恰好與自身後8位相等。對於每次插入操作列舉

j,詢問操作列舉

i ,複雜度均為o(

s√),總複雜度為o(

n⋅s√

) 。

總結:考慮不夠細緻,沒有仔細觀察過資料範圍中的細節,提示本身應該是很明顯的。

訓練日記 20170324

長久不更新部落格了。期間經歷了恰好被ag線踩的wc,經歷了漫長痛苦的小高考準備。現在終於可以重整旗鼓,向省選進發!幾個月來,唯一不變的是我仍然是個超級蒟蒻 版權原因,不上傳題目。題意 最小樹形圖 去年就接觸 聽說 過的演算法,一直沒有真正寫過。因為各種奇怪的細節錯誤,調了好幾個小時 比如找環時沒有判...

訓練日記 20170328

今天的題目似乎很水 好多人都提前ak離場了,於是提前一小時收題。但是我還是各種不會。思維江化?話說,聽到一句很有趣的話 山不在高,有林則徐 水不在深,有江 題意 給定一棵有n n 105 個節點的有根樹,編號互不重複。詢問有多少棵子樹內節點編號構成乙個連續區間。題解 水題,對於每個節點 i 記錄以該...

訓練日記 20170419

題意 二維平面上有n n 200,000 個傳送門,第i 個傳送門位於 x i,yi 且可以傳送到以自身位置為左下角,以 a i,bi 為右上角的平行座標軸的矩形中任何乙個其他傳送門。任意選定起點和終點,求從起點傳送到終點的路徑上最多經過多少個傳送門。座標範圍在0 200,000 之間。空間限制51...