題目描述
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 個...