1043 幸運號碼 (簡單數字dp)

2021-09-26 05:30:56 字數 868 閱讀 3264

1個長度為2n的數,如果左邊n個數的和 = 右邊n個數的和,那麼就是一

個幸運號碼。

例如:99、1230、123312是幸運號碼。

給出乙個n,求長度為2n的幸運號碼的數量。由於數量很大,輸出數量

mod 10^9 + 7的結果即可。

輸入n(1<= n <= 1000)
輸出幸運號碼的數量 mod 10^9 + 7
1
9
這題一開始考慮前後兩個n位數重複會造成答案冗餘,其實

是我自己考慮錯了,計算出n位數構造和為sum有多少種方案,

然後 不帶前導零的方案數 * 帶前導零的方案數即可。

dp陣列第二維範圍開小了,wa,自己一直考慮,這題答案

要不要處理負數模的情況,不處理也能過,但應該處理吧?還是

不會出現負數情況?

#include #include #include #include #include #include #include #define ll long long

#define inf 0x3f3f3f3f

#define ull unsigned long long

using namespace std;

const int n = 2e5 + 100;

const int mod = 1e9 + 7;

long long dp[1010][9200];

int main ()

return 0;

}

the end;

1043 幸運號碼(數字dp

1個長度為2n的數,如果左邊n個數的和 右邊n個數的和,那麼就是乙個幸運號碼。例如 99 1230 123312是幸運號碼。給出乙個n,求長度為2n的幸運號碼的數量。由於數量很大,輸出數量 mod 10 9 7的結果即可。輸入輸入n 1 n 1000 輸出輸出幸運號碼的數量 mod 10 9 7 輸...

51nod 1043 幸運號碼 (數字dp)

dp i j 表示 i 個數和為 j 的總數 包含0開頭情況 dp i j dp i 1 j k i 1 這裡用滾動陣列節省記憶體 非0開頭的情況 0開頭的情況 dp n 1 i dp n 1 1 i dp n 1 i 最後將其累加即為結果。開始沒有想到這麼做,還傻傻的dfs,用dp 1000 10...

51Nod 1043 幸運號碼 數字DP

1043 幸運號碼 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 1個長度為2n的數,如果左邊n個數的和 右邊n個數的和,那麼就是乙個幸運號碼。例如 99 1230 123312是幸運號碼。給出乙個n,求長度為2n的幸運號碼的數量。由於數量很大,輸出數量 mod...