hdu Just do it 組合數規律

2021-08-06 06:59:08 字數 738 閱讀 5685

題意:求a陣列到b陣列的前i位異或m次的值,每次異或a陣列的值變為前i位異或後的值。

比如 異或三次

第一次 b1=a1 b2 = a1^a2 b3 = a1^a2^a3

第二次

b1=a1 b2=a1^a1^a2 b3=a1^a1^a1^a2^a2^a3

第三次 b1=a1 b2=a1^a1^a1^a2 a1^a1^a1^a1^a1^a1^a2^a2^a2^a3

思路 :

可以看出來相鄰的每一位對自己後面d位的貢獻值是一樣的, 而且滿足組合數規律。

寫出a1變換m次對後面第i位的貢獻矩陣

1 1 1 1 1 1

2 1 2 3 4 5

3 1 3 6 10 15

4 1 4 10 20 35

5 1 5 15 35 70

第m次變換 第i位的貢獻值為(m+i-2, m-1);

#include 

const int maxn = 2e6+10;

using namespace std;

int a[maxn], b[maxn];

int main()

for(int i=2;i<=n;i++)

}for(int i=1;i<=n;i++) printf("%d

%c",b[i],i==n?'\n':' ');

}return

0;}

組合數學 求組合數

對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...

吉首 組合數 求組合數因子個數

時間限制 1 sec 記憶體限制 128 mb 求組合數c n,m 以及c n,m 因子個數。n和m,其中0 m n 50,以eof結束。該組合數結果。3 2 4 23 2 6 4先利用楊輝三角求出組合數,然後就是求出因子數了 求因子數 素數分解的唯一性,乙個數可以被分解成若干素數相乘 p1 x1 ...

計算組合數

1.防溢位 如果直接用c n,m n!n m m 來程式設計很可能會在算n!時就爆了long long,所以每一步最好把除分母也算上。所以對於c n,m 來說取m min m,n m 來算c n,m n n 1 n 2 n m 1 m m 1 m 2 1 顯然分子分母都是m項相乘,從後往前去算 先算...