2020.09.06 測試總結
A
簡要題意
給你一張僅由 X
與 .
組成的 \(n\times n\) 的地圖,您可以將一個 \(k\times k\) 的正方形覆蓋成 .
,求覆蓋後的連通塊大小的最大值。
\(\text{subtask 1 (20 pts)}: n\leq 50\);
\(\text{subtask 2 (30 pts)}: n\leq 100\);
\(\text{subtask 3 (50 pts)}: n\leq 500\)。
對於所有資料,\(1\leq k\leq n\leq 500\)。
考場思路
發現 \(O(n^4)\) 可以有 \(50\) 分,直接打了。
具體就是列舉 \(k\times k\)
正解
不會。
B
簡要題意
給你一個長為 \(n\) 的數列 \(A\),求刪去若干個數之後使得 \(\sum_{i=1}^m[B_i=i]\) 的最大值,其中 \([x]\) 表示若 \(x\) 為真,則為 \(1\),為假,則為 \(0\)。
對於 \(20\%\) 的資料,\(n \leq 10\);
對於 \(50\%\) 的資料,\(n \leq 1000\);
對於 \(80\%\) 的資料,\(n \leq 10^5\);
對於 \(100\%\) 的資料,\(n \leq 5\times 10^5\), \(1\leq A_i\leq 10^9\)
考場思路
\(O(2^n)\) 列舉一下每個數取或不取,可以得 \(20\) 分。
正解
先對 \(A\) 排序,排序後讓 \(A_i=i-A_i\),求最長不下降子序列即可。
C
簡要題意
求出滿足以下條件的 \(n\times m\) 的 \(01\) 矩陣個數:
- 對於第 \(i\) 行:
- 第 \(1\sim l_i\) 列有且僅有一個 \(1\);
- 第 \(r_i\sim m\) 列有且僅有一個 \(1\);
- 第 \(l_i+1\sim r_i - 1\) 列全為 \(0\)。
- 對於第 \(j\) 列:
- 至多有一個 \(1\)。
對於 \(20\%\) 的資料,\(n \leq 7,~m \leq 15\)
對於 \(40\%\) 的資料,\(n\leq 15,~m \leq 50\);
對於 \(70\%\) 的資料,\(n\leq 100,~m\leq 300\);
對於 \(100\%\) 的資料,\(n\leq 1500,~m\leq 3000,~1\leq l_i< r_i\leq m\)。
考場思路
狀壓 DP。
設 \(dp_{i,S}\) 表示從 \(1\) 到 \(i\) 行的總體情況為一個二進位制數 \(S\),用 DFS 轉移即可。
正解
不會。
總結
\(50+20+20=90,~ \text{rk 2}\)。
很高興有這樣的成績,暴力打滿了。
主要是 T3 耗費時間太多了,肝 T2 會好一些。