XYD1002CSPS

chenwenmo發表於2024-10-09

T1 區間 [貪心]

Description

給定 \(n\) 個正整數區間,從左往右進行 \(n - 1\) 次操作,每次可以將相鄰兩個區間取交集或並集。
要求至少有 \(m\) 次取交集操作。
求操作後最大的區間長度。

Solution

考慮三個集合 \(A,B,C\),顯然 \(card(A\cap B\cup C)\) 一定不劣於 \(card(A\cup B\cap C)\)
因此我們貪心地把 \(m\) 次交集操作放在前面,後面全部取並集即可。

T2 旅行 [圖論]

Description

給定 \(n\) 個節點,\(m\) 條邊的有向圖,可以任選一個點,遍歷儘量多的點,並最終回到這個點,中途可以經過起點。遍歷的點的數量被稱為指數。
至多新增一條邊,只能是原圖邊的反向邊,但可以和原邊相同。求新增邊後指數的最大值,新增哪些邊的反向邊能達到這個最大值。
\(n\le 2\times 10^3\)\(m\le 4\times 10^4\)

Solution

根據資料範圍,我們可以 \(O(nm)\) 預處理出每個點可以到達哪些點。
接著列舉每一條邊 \((u,v)\),假設要新增它的反向邊,那麼我們再列舉中心點 \(k\),計算有多少個 \(k\) 使得 \(u\) 可以到達 \(k\)\(k\) 可以到達 \(v\)
取最大值即可。

T3 棋盤染色 [組合數學]

Description

給定一個 \(2\times N\) 的棋盤,將棋盤染成三種顏色紅、綠、藍。
一個棋盤是漂亮的,當且僅當:

  • 任意兩個相鄰的格子顏色不同;
  • 任意一個 \(2\times 2\) 的網格里,每一種顏色都至少出現了一次。

求有多少個漂亮的棋盤恰好有 \(R\) 個紅色格子,\(G\) 個綠色格子和 \(B\) 個藍色格子。對 \(10^9+7\) 取模。

Solution