【省選模擬】20/06/10

AA

BB

  • 考慮發現一些性質:
    a:記將答案變小的操作爲有效操作,則有效操作一定是用 k1k-1 的代價將 kk 個數歸位
    b:一次有效操作歸位的數一定是一個環
    c:若環上的點數爲 kk,則當且僅當環長爲 2k22k-2 時這個環存在有效操作
    proof:首先環長的下界是 2k22k-2,即考慮環上座標最小的點,環的形態一定爲從這個點開始向後跳然後總後面跳回來,同時一次交換操作會使環長 -2,故環長的上界是 2k22k-2
    d:有效的環一定是座標連續的一段
    e:記 ai>i+1a_i>i+1 的點爲正大跨度點,ai<i1a_i<i-1 的爲負大跨度點,則正大跨度點後一個點一定爲負大跨度點,且交換二者會將原來的環劃分成兩個環
    模擬即可,複雜度 O(n)O(n)CodeCode
    題解是考慮有效操作爲值域和定義域的連續段且逆序對數爲長度減 1,需要用數據結構求一下連續段

CC

  • m+mnm+m\le n 時,初始點集合末點集一定在兩個大小爲 mm 的子樹中,方案數爲拓撲序方案數
  • 否則可以將點分爲 3 類點,前 nmn-m 個點,(nm,m](n-m,m] 的點,以及 (m,n](m,n] 的點
    其中 2 類點構成連通塊,對這個連通塊進行 dpdp,一個暴力的想法是對每個點欽定其爲根進行 dpdp 最後容斥,發現可以考慮重心一定爲 2 類點,所以對包涵重心的聯通塊進行 dpdp
    我們記 fu,a,bf_{u,a,b} 表示 uu 的子樹有 aa 個一類點 bb 個三類點的方案數
    對於一類點和三類點的轉移,是子樹的拓撲序方案數,O(n4)O(n^4),用 dfsdfs 序轉移 O(n3)O(n^3)CodeCode
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章