1.6
今晚ABC,切了 4 道简单题,不想写了,来写个闲话。
看洛天依推式子好厉害啊所以也想写几道数论题来推式子,结果开了几道发现全是容斥原理的题,可是我不会推容斥的式子啊???
最近在写集合计数
式子
\[\sum\limits_{i=0}^n (-1)^i \dbinom{n}{i}\times (2^{2^{n-i}}-1)
\]
代码写了!根据式子写即可
Code
#include"bits/stdc++.h"
using namespace std;
#define int long long
const int N=3*1e6;
int n,k;
const int P=1e9+7;
int js[N],inv[N];
inline int qpow(int a,int b,int c)
{
int ans=1;
while(b)
{
if(b&1) ans=(ans*a)%c;
a=(a*a)%c;
b>>=1;
}
return ans;
}
inline int C(int n,int m)
{
return js[n]*inv[m]%P*inv[n-m]%P;
}
inline int ask(int m)
{
int ans=0;
for(int i=0,u=1;i<=m;++i,u=-u)
ans=(ans+u*C(m,i)*(qpow(2,qpow(2,m-i,P-1),P)-1)%P)%P;
return ans;
}
signed main()
{
cin>>n>>k;
js[0]=1;
for(int i=1;i<=n;++i)
js[i]=js[i-1]*i%P;
inv[n]=qpow(js[n],P-2,P);
for(int i=n-1;i>=0;--i)
inv[i]=inv[i+1]*(i+1)%P;
cout<<(ask(n-k)*C(n,k)%P+P)%P;
}
虽然我不是东方厨但还是放了张恋恋校徽

水印不会去,恋恋可爱捏。
没啥抽象事了

浙公网安备 33010602011771号