模擬測試106

T1:spa

  斷環成鏈並複製一倍,而後區間DP。排序

  設狀態爲合併區間$[l,r]$的最大得分。查詢

  時間複雜度$O(n^3)$。時間

T2:
  最後一次向上爬不會滑下來,因而能夠枚舉最後一次吃的藥丸。
枚舉

  將全部藥丸按照$A-B$排序,每次貪心地選擇最大的幾個值,二分出到達的天數。

  還須要判斷中間高度是否嚴格大於$C$,若是不是,那麼不能成功登頂。

  若是枚舉的藥丸不在前幾個最大值中,直接用ST表查詢$A-B-C$的最小值是否小於0;

  其餘狀況下,後面的數值會錯位,再維護一個錯位的ST表便可。

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

T3:

  由於兩我的都要使本身的得分最大,因而若是有一種翻轉方式能使棋子全都正面向上,對手必定會無條件地幫忙。

  因此先判斷可否讓全部棋子都正面向上。

  將全部行列看作點,棋子看做邊,正面棋子所在行列合併,反面棋子所在行列連邊。

  這樣每條邊兩側的狀態都不一樣。

  二分圖染色就能夠判斷,而後根據$(n+m)$奇偶性判斷$0/1$。

  而後根據奇偶分層,算出一個連通塊的兩個$si$。

  若是一個塊爲偶偶,那麼這個塊沒有任何做用,由於不管如何都會抵消掉。

  若是一個塊爲奇奇,那麼前後手交換。

  若是一個塊爲奇偶,先手能夠控制本身下一次做爲先手仍是後手  。

  若是奇奇塊的個數奇數,先手必定能夠變爲後手,先手必勝。

  其他狀況下若是奇偶塊的個數爲奇數,先手控場,必勝,反之先手必敗

相關文章
相關標籤/搜索