luogu1762 偶數(數學 數字DP)

2022-08-19 06:21:10 字數 837 閱讀 8757

luogu1762

題目描述:給定乙個整數n,求楊輝三角形前n項對1000003取模後的結果。

輸入格式:一行乙個整數n,表示行數

輸入格式:一行乙個整數,表示答案

輸入樣例:

6輸出樣例:

6解析:楊輝三角形第n行第m列的數為\(c_^\),要求前n行的偶數個數,就是求前n行的奇數個數,再用總數減去奇數的個數。

那麼怎麼算奇數的個數呢?就是算\(c_^ mod 2 = 1\)的個數。

用lucas定理可知,這時(m-1)是(n-1)的子集,即(m-1)&(n-1) = m - 1

可以發現,答案就是\(\sum_^2^\)

這樣,就可以直接數字dp,求出即可。

**如下:

#include#include#define ll long long

using namespace std;

const ll mod = 1000003;

ll n, pow[64], dp[64][64];

int bit[64], cnt;

ll dfs(int pos, int lead, int limit, int sum)

if (limit && lead) dp[pos][sum] = ans;

return ans;

}ll solve(ll x)

memset(dp, -1, sizeof(dp));

return dfs(cnt, 0, 0, 0);

}ll mul(ll x, ll y)

return res;

}int main()

洛谷 1762 偶數

題目描述 給定乙個正整數n,請輸出楊輝三角形前n行的偶數個數對1000003取模後的結果。輸入格式 乙個數輸出格式 結果輸入輸出樣例 輸入 1 6輸出 1 6說明 提示 對於30 的資料,n 4000 對於70 的資料,n 4 10 9 對於100 的資料,n 10 15 楊輝三角形的前七行 11 ...

洛谷 P1762 偶數

洛谷 p1762 偶數 給定乙個正整數n,請輸出楊輝三角形前n行的偶數個數對1000003取模後的結果。輸入格式 乙個數 輸出格式 結果 輸入樣例 1 6 輸出樣例 1 6 對於30 的資料,n 4000 對於70 的資料,n 4 10 9 對於100 的資料,n 10 15 楊輝三角形的前七行 1...

洛谷P1762 偶數

給定乙個正整數n,請輸出楊輝三角形前n行的偶數個數對1000003取模後的結果。輸入格式 乙個數輸出格式 結果輸入樣例 1 複製6 輸出樣例 1 複製6 對於30 的資料,n 4000 對於70 的資料,n 4 10 9 對於100 的資料,n 10 15 楊輝三角形的前七行 1 11 2 1 1 ...