問題描述
把 1 ∼ 2020 放在 2 × 1010 的矩陣裡。
要求同一行中右邊的比左邊大,同一列中下邊的比上邊的大。一共有多少種方案?
答案很大,你只需要給出方案數除以 2020 的餘數即可。
答案提交
這是一道結果填空題,你只需要算出結果後提交即可。
本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多餘的內容將無法得分。
答案:1340
分析
要放當前數字並使其遞增,只能放兩個位置,就是第一行最右邊的空格處和第二行最右邊的空格處。
動態規劃
f[i][j] 表示第一行有i個數,第二行有j個數的方式總數。
方程式:
f[ i ] [ j ] += f[i - 1][ j ] , f[ i ] [ j ] += f [ i ] [ j - 1 ] ,
表示第一行有i個數第二行有j個數,可以由兩種方式得到:
第一種:當第一行有i-1個數,第二行有j個數時,在第一行新增乙個數就可以得到f[i][j]。
第一種:當第一行有i個數,第二行有j-1個數時,在第二行新增乙個數就可以得到f[i][j]。
package 藍橋杯.藍橋第十一屆省賽.矩陣;
public
class
solution
if(j-
1>=0)
dp[i]
[j]%=
2020
;//對結果取模}}
system.out.
println
(dp[
1010][
1010])
;}}
第十一屆藍橋杯
問題描述 小藍要為一條街的住戶製作門牌號。這條街一共有 2020 位住戶,門牌號從 1 到 2020 編號。小藍製作門牌的方法是先製作 0 到 9 這幾個數字字元,最後根據需要將字 符貼上到門牌上,例如門牌 1017 需要依次貼上字元 1 0 1 7,即需要 1 個 字元 0,2 個字元 1,1 個...
第十一屆藍橋杯 走方格
問題描述 在平面上有一些二維的點陣。這些點的編號就像二維陣列的編號一樣。從上到下依次為第 1 至第 n 行,從左到右依次為第 1 至第 m 列,每乙個點可以用行號和列號來表示。現在有個人站在第 1 行第 1 列,要走到第 n 行第 m 列。只能向右或者向下走。注意,如果行號和列號都是偶數,不能走入這...
第十一屆藍橋杯 整數拼接
問題描述 給定義個長度為 n 的陣列 a1,a2 an。你可以從中選出兩個數 ai 和 aj i 不等於 j 然後將 ai 和 aj 一前一後拼成乙個新的整數。例如 12 和 345 可以拼成 12345 或 34512。注意交換 ai 和 aj 的順序總是被視為 2 種拼法,即便是 ai aj 時...