模擬測試109

T1:
  設$dp[i][j]$表示考慮到第$i$層,到每一個點路徑的奇偶性狀態爲$j$的方案數。
數組

  可是轉移是O(k^2)的。優化

  把每一個點的出邊集合壓成一個二進制數,能夠將轉移複雜度優化到$O(k)$。spa

  還能夠進一步優化。it

  預處理出$f[i][j][0/1]$表示在第$i$層,狀態爲$j$時,邊是否取反的方案數。二進制

  能夠用lowbit找到每一個$j$的其中一位,而後遞推便可。集合

  時間複雜度$O(m2^k)$。時間

T2:

  發現知足條件的對數不少,rand幾組就出來了。

  能夠用bitset優化匹配,多rand幾組。

T3:

  考慮貪心。

  維護兩個數組$f[i][j]$和$g[i][j]$表示距$i$距離爲$j$有多少個節點,能夠控制多少節點。

  每次消除距離爲$k$和$k-1$的點,根節點消除全部點。

  時間複雜度$O(nk)$。

相關文章
相關標籤/搜索