最多 n 次交換將數組排序。複製數組排序得目標。貪心:從左到右,若 a[i]!=b[i],在右側找 b[i] 的位置 j,交換 i,j。若 a[j]==b[i] 且 a[i]==b[j] 可一次修正兩位。輸出交換序列。
男生女生技能值 1..100,配對要求技能差 ≤ 1。統計各技能人數,貪心從小到大匹配:優先匹配相同技能,再匹配差 1。代碼實現計數器數組匹配。
構造長度 m、數位和 s 的最小/最大整數(無前導零)。最小數:首位盡量小(非零),其餘從低位填 9。最大數:高位填 9。邊界:s=0 且 m=1 輸出 0 0;s=0 且 m>1 或 s>9*m 輸出 -1 -1。
有向圖,計算「菱形」數:四點 a,b,c,d 滿足 a->b->c 和 a->d->c。對每對 (u,v) 統計長度為 2 的路徑數 cnt,貢獻 C(cnt,2)。n≤3000, m≤30000,對每點 DFS 深度 2 統計,複雜度 O(n*m) 可接受。
n×n 0/1 矩陣,每行每列恰兩個 1。給定前 m 行,求補全方案數模 mod。按行 DP:狀態為列和為 1 的列數 x、列和為 0 的列數 y。新行在 x,y 中選 2 列置 1:選兩個 1 列(C(x,2))→ x-2,y;選兩個 0 列(C(y,2))→ x+2,y-2;各選一個(x*y)→ x,y-1。遞歸備忘錄求解。