求值2(組合數平方和)

2021-08-20 16:23:00 字數 749 閱讀 7242

題目描述 

ans = 0; 

for(inti = 1; i <= n; i++) 

for(int v = 0; v <= n; v++) 

ans = (ans + c(i, v) * c(i, v)) % 998244353;

c(i,v)為組合數第i行第v列的數。

給你上面的**中的n,請你輸出ans的值。

輸入描述:

輸入乙個整數n

輸出描述:

輸出ans的值。

示例1輸入複製3

輸出複製

28備註:

n<=106

思路:這個題是所有組合數的平方和是概率課本上的一道公式。

直接用魯卡斯定理求就行。

**:

#include using namespace std;

const long long mod=998244353;

const int maxn=2000010;

long long f[maxn];

void init(long long p)

long long inv(long long a,long long m)

long long lucas(long long n,long long m,long long p)

return ans;

}//int main()

printf("%lld\n",sum);

}

求值2 組合數公式題目

ans 0 for inti 1 i n i for int v 0 v n v ans ans c i,v c i,v 998244353 c i,v 為組合數第i行第v列的數。給你上面的 中的n,請你輸出ans的值。輸入乙個整數n輸出ans的值。示例1 複製3複製 這題然後就變成了 求組合數的問...

1056 組合數的和

1.解題思路 用sum統計所有可能組合出來的兩位數字之和,在sum累加的過程中 對於每乙個輸入的數字temp,都能和其他n 1個數字組合出新的數字 temp能夠放在個位也能夠放在十位,所以每個數字temp都能在個位出現 n 1 次 十位出現 n 1 次,在個位產生的累加效果為temp n 1 而在十...

7 7 組合數的和

給定 n 個非 0 的個位數字,用其中任意 2 個數字都可以組合成 1 個 2 位的數字。要求所有可能組合出來的 2 位數字的和。例如給定 2 5 8,則可以組合出 25 28 52 58 82 85,它們的和為330。輸入格式 輸入在一行中先給出 n 1 n 10 隨後給出 n 個不同的非 0 個...