Educational Codeforces Round 80 (Rated for Div. 2)-C. Two Arrays(组合数)
组合数 第一步:把数组a和数组b合并排个序 第二步:用组合数中的隔板法得到C(2*m+n-1,n-1) 隔板法 条件一:N个相同元素 条件二:M个不同盒子 条件三:每个盒子至少一个元素 N个相同元素=2 m个位置 M不同盒子 = n个元素 也就是2 m个相同元素放入n个不同的盒子,但是盒子可以为空,所以增加n个为空的元素 不同盒子n 总相同元素2*m+n 可以得到 隔板数:n-1 空隙数:2 m+n-1; C(2 m+n-1,n-1) 费马小定理处理除数求模问题 # include <bits/stdc++.h> //typedef long long ll; //#define ull unsigned long long # define int long long # define F first # define S second # define endl "\n" //<<flush # define lowbit(x) (x&(-x)) # define ferma(a,b) pow(a,b-2) # define pb push_back # define mp make_pair # define all(x) x.begin(),x.end() # define memset(a,b) memset(a,b,sizeof(a)); # define IOS