3 月雜題記

lucky_cloud發表於2024-03-07

過了幾個月,又回來了,3.7 之前的懶得補了。

3.7

P2487 [SDOI2011] 攔截導彈

最近在學 CDQ。花了我好久除錯。

CDQ 最佳化 DP 模板。

將轉移條件轉化成三維偏序。在 CDQ 中求。至於每個點在最長的二維最長升子序列的出現次數,多開一個陣列 \(f[0/1][i]\) 存,轉移還是使用樹狀陣列順帶做了。\(0/1\),表示以此點為開頭或結尾。

最後如果 \(dp[0][i] + dp[1][i] = len + 1\) 則這個點答案為 \(f[0][i] * f[1][i] / sum\)

P3834 可持久化線段樹 2

順帶用整體二分做了一個板子題。感覺這個演算法好 NB。

P4093 [HEOI2016/TJOI2016] 序列

一開始連題都看錯了。描述不清的題面,SM 的出題人。或許是我是個 SB。

開了題解才明白題目。是我大意了。

也是一道很板的 CDQ 最佳化 DP。但以後一定要注意,轉移時是 dp[a[i].id] 而不是 dp[i]。(-1h。

P3364 Cool loves touli

板子 +1。

注意開 long long,然後再離散化。樹狀陣列與離散化陣列大小開 \(3 \times N\)。我在這裡 WA 了一發。

P4390 [BalkanOI2007] Mokia 摩基亞

簡單板子。將查詢分為四個點每次求 0,0 到 x,y 的一個矩形中的總權值。

相當於求 \(x_i \le x_j \land y_i \le y_j \land t_i \le t_j\)\(a_i\) 總和。三維偏序,可以使用 CDQ 維護它。

注意樹狀陣列上界一定要開大,不然會少加上數!