ARC068 簡要題解

2022-05-07 22:03:10 字數 473 閱讀 4508

任意一面朝上直接 $5 - 6 - 5 - 6 - $ 或者 \(6 - 5 - 6 - 5 -\)

然後就沒了

首先把牌張數大於三張的丟到三張以下

設還有兩張的有 \(k\) 個

如果 \(k\) 是 \(2\) 的倍數, 那麼可以直接全扔了

如果不是, 需要找到乙個只有一張牌的扔掉才能把這 \(k\) 個扔掉

拿個桶記一下

長度 $ \geq len$ 的區間中必然存在 \(len\) 的倍數

那麼對於乙個 \(d\) 就會出現兩種情況

一種是區間長度大於它, 直接加上就好

另外一種是區間長度小於它的, 這個時候 \(d\) 的倍數最多隻會在裡面出現一次

正是因為只會出現一次, 我們可以直接給區間打個加 1 標記然後求 d 的倍數中共有幾個標記

可以樹狀陣列做

想著想著想到最長反鏈上去了, 然後就做不出了...

講得挺好的

ARC065 簡要題解

從前往後不好做,那就直接從後往前 考慮設 f i j 為在第一張圖中屬於 i 集合,在第二張圖中屬於 j 集合的點的個數 這樣會 mle 但是又發現有用的 i,j 不會很多,直接 map 存下來就行了 轉化為切比雪夫距離之後直接從起點 bfs 把橫縱座標離散化之後存在 set 中,找到乙個就刪掉他,...

ARC063 簡要題解

模擬即可 算下有多少個極大差就行了 考慮乙個點到另乙個點的路徑是什麼情況 必然是一段上公升的加一段下降的,單增單減也行 然後就可以考慮乙個貪心策略了 每次選出最小的,給他周圍沒有附權值的附乙個 這個最小點權值 1 的權值 不難發現這樣是滿足上面那個條件的 不合法情況中間判一下就行 考試考過,想出來了...

ARC058 簡要題解

暴力列舉然後 check 一下 設左上角的點座標為 1,h 右下角的點座標為 w,1 補集轉化之後就只用求必須經過左下角那個矩形的方案數了 考慮無論怎麼走必須要從矩形右邊的那一條 b,a b,1 線段經過 列舉一下最後經過的哪個點即可 妙補集轉化之後求不存在滿足題意條件的方案數 看到資料範圍容易想到...