G48 二项式反演

视频链接:G48 二项式反演_哔哩哔哩_bilibili

Luogu P1595 信封问题

复制代码
#include <iostream>
#include <cstring>
#include <algorithm>
#define LL long long
using namespace std;

LL n,s,ans,fac[25];

int main(){
  scanf("%lld",&n);
    fac[0]=1;
    for(int i=1;i<=n;i++) 
      fac[i]=fac[i-1]*i;
      
    for(int i=0;i<=n;i++){
        s=fac[n]/fac[i];
        if(i&1) ans-=s;
        else ans+=s;
    }
    printf("%lld\n",ans);
    return 0;
}
复制代码

染色问题

复制代码
#include <iostream>
#include <cstring>
#include <algorithm>
#define LL long long
using namespace std;
const int M=100005,P=1e9+7;
int n,m;
LL a[M], b[M];

LL qpow(LL x, int y){
  LL res=1;
  for(; y; x=x*x%P,y>>=1)
    if(y&1) res=res*x%P;
  return res;
}
void init(){
  a[0]=b[0]=1;
  for(int i=1; i<M; i++){
    a[i]=a[i-1]*i%P;
    b[i]=b[i-1]*qpow(i,P-2)%P;
  }  
}
LL C(LL n, LL m){
  return a[n]*b[m]%P*b[n-m]%P;
}
int main(){
  init();
  cin >> n >> m;
  int ans=0, tmp;
  for(int i=2;i<=m;i++){
    tmp=C(m,i)*i%P*qpow(i-1,n-1)%P;
    if((m-i)&1) (ans+=-tmp+P)%=P;
    else (ans+=tmp)%=P;
  }
  printf("%d\n",ans);
}
复制代码

Luogu P4859 已经没有什么好害怕的了

复制代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=2005,P=1e9+9;
int n,k,a[N],b[N];
int F[N][N],f[N],C[N][N];

int main(){
  scanf("%d%d",&n,&k);
  for(int i=1; i<=n; i++) scanf("%d",&a[i]);
  for(int i=1; i<=n; i++) scanf("%d",&b[i]);
  
  for(int i=0;i<=n;i++) C[i][0]=1;
  for(int i=1;i<=n;i++)
    for(int j=1;j<=i;j++) 
      C[i][j]=(C[i-1][j-1]+C[i-1][j])%P;
  sort(a+1,a+n+1); sort(b+1,b+n+1);
  for(int i=0;i<=n;i++) F[i][0]=1;
  for(int i=1,p=0;i<=n;i++){
    while(p+1<=n && b[p+1]<a[i]) p++;
    for(int j=1;j<=n;j++) 
      F[i][j]=(F[i-1][j]+1ll*F[i-1][j-1]*(p-j+1)%P)%P;
  }
  for(int j=n,s=1;j>=1;j--) 
    f[j]=1ll*F[n][j]*s%P, s=1ll*s*(n-j+1)%P;
        
  int ans=0, x=(n+k)/2;
  for(int i=x;i<=n;i++){
    int tmp=1ll*C[i][x]*f[i]%P;
    if((i-x)&1) (ans+=-tmp+P)%=P;
    else (ans+=tmp)%=P;
  }
  printf("%d\n",ans);
}
复制代码

 

posted @   董晓  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示