CSP2024-27

Lu_xZ發表於2024-09-27

2A

題意:

1A

題意:給定 \(n \times n\) 種物品,\((i, j)\)\(a_{i, j}\) 個,權值為 \(b_{i, j}\),兩個物品等價當且僅當 \(i\) 相等或 \(j\) 相等。

初始有一個空(可重)集 \(S\),每次等機率從剩餘物品中選一個 \(x\) 出來。

如果 \(S\) 中沒有和 \(x\) 等價的物品,那麼 \(x\) 加入 \(S\);否則把所有和 \(x\) 等價的物品拿出來放回去。

每輪操作後會把 \(\sum_{x \in S} b_x\) 累計進積分,求 \(k\) 輪操作後積分的期望值。\(2 \le n \le 4,\ 1 \le k \le 10^9\)

注意到 \(S\) 中元素一定互不相同,這提示我們符合條件的局面實際很少,\(n = 4\) 的時候合法局面只有 \(209\)

每輪的貢獻只與 \(S\) 有關,因此只要計算出第 \(i\) 輪操作後局面為 \(S\) 的機率 \(p(i, S)\) 即可。

矩陣快速冪加速轉移,同時維護 \(E_{i - 1}\) 表示上一輪的期望權值,時間複雜度 \(O(N^3\log k),\ N = 210\)

submission

B

題意:\(2n\)\(k\) 維空間上的點,定義 \(\text{dist}(p_i, p_j)\) 為兩點的曼哈頓距離。

\(A, B\) 兩人進行遊戲,\(A\) 先手。每人每輪選一個點,設 \(A\) 選出集合為 \(S_A\)\(B\)\(S_B\)

\(\sum_{i < j\in S_a} \text{dist}(p_i, p_j) - \sum_{i < j \in S_b} \text{dist}(p_i, p_j)\)\(A\) 想要最大化這個權值,\(B\) 想要最小化。求兩人都在最優決策下的最終權值。

資料範圍:\(1 \le n, k \le 10^5,\ n \times k \le 10^5\)

\[\begin{aligned} & \sum_{i < j\in S_a} \text{dist}(p_i, p_j) - \sum_{i < j \in S_b} \text{dist}(p_i, p_j)\\ \\ =& \bigg(\sum_{i < j\in S_a} \text{dist}(p_i, p_j) + \sum_{i < j\in S_b} \text{dist}(p_i, p_j) + \sum_{i \in S_a, j\in S_b} \text{dist}(p_i, p_j) \bigg) - \bigg(\sum_{i < j \in S_b} \text{dist}(p_i, p_j) + \sum_{i > j\in S_b} \text{dist}(p_i, p_j) + \sum_{i \in S_a, j\in S_b} \text{dist}(p_i, p_j)\bigg)\\ \\ =& \sum_{i, j \in U} \text{dist}(p_i, p_j) - \sum_{i \in U,\ j \in S_b} \text{dist}(p_i, p_j) \end{aligned} \]

前一項是定值,因此每個人的決策就是取當前到所有點距離和最大的點。submission

C

D