我們印象中計算組合數的公式c(
kn)=
a(kn
)a(k
k)但其實,還有另外乙個,常見於程式設計使用c(
kn)=
c(k−
1n−1
)+c(
kn−1
) problem:挑選子集
description
給定n個整數a1, a2, … an,小hi希望從中選出m個整數,使得任意兩個選出的整數的差都是k的倍數。
請你計算有多少種不同的選法。由於選法可能非常多,你只需要輸出對1000000009取模的結果。
input
第一行包含三個整數n、m和k。
第二行包含n個整數a1, a2, … an。
對於30%的資料,2 ≤ m ≤ n ≤ 10
對於100%的資料,2 ≤ m ≤ n ≤ 100 1 ≤ k, ai ≤ 100
sample input
5 3 2
1 2 3 4 5
sample output
1
#include
#include
#define ll long long
using
namespace
std;
const
int mod =1000000009;
int c[101][101];//記錄組合數
int cnt[101];//記錄模k的餘數
int main()
c[0][0]=1;
for(int i=1;i<=n;++i)
}ll ans=0;
for(int i=0;iif(cnt[i]>=m)
ans += c[cnt[i]][m];
}ans %= mod;
if(ans<0)
ans += mod;
cout
0;}
數學和計算機是緊密聯絡的,大家要多多思考 async await 真不是你想象中那麼簡單
先上 function getdata data,time time let results let starttime new date laucher async function laucher 在 毫秒放入 let datab await getdata b 3000 results.pus...
BlockChain區塊鏈 這不是你想象的那樣
你真的知道它是什麼嗎?即使你是一名軟體工程師,你也可能會有零或接近於零的知識。您可以聽到人們基本上圍繞每個角落談論區塊鏈。你會聽到他們說在這些貨幣和ico上賺錢是多麼容易,以及區塊鏈技術如何接管世界,取代銀行,中介和等待它 甚至是網際網路本身。這是他們說的新網際網路。現在我對你說實話,我不打算在這裡...
大學不是想象的中那樣
從初中開始,就幻想上高中,因為要分科,以後就不會學文科了,上到高中又幻想大學,認為在大學了才能靜下心來搞軟體,可是通過這半年的學習,我個人感受是 大學不是想象中的那麼完美,他也是有缺陷的。一 對於專業課的要求上,學校並沒有投入多大的注意力,這估計跟我就讀的學校有關,是石油大學,使用的教材也只是印度最...