首页 > 其他分享 >bzoj 3622 已经没有什么好害怕的了

bzoj 3622 已经没有什么好害怕的了

时间:2023-04-04 12:02:40浏览次数:64  
标签:ll 3622 害怕 define bzoj ans fo mod


3622: 已经没有什么好害怕的了



Time Limit: 10 Sec  

Memory Limit: 256 MB

Submit: 805  

Solved: 377

[Submit][Status][Discuss]


Description



Input



Output



Sample Input


4 2
5 35 15 45
40 20 10 30


Sample Output


4


HINT




输入的2*n个数字保证全不相同。



还有输入应该是第二行是糖果,第三行是药片




Source


2014湖北省队互测week2










【分析】

组合数+dp




【代码】

//bzoj 3622 已经没有什么好害怕的了
#include<bits/stdc++.h>
#define N 2000
#define ll long long
#define fo(i,j,k) for(i=j;i<=k;i++)
using namespace std;
const int mod=1e9+9;
const int mxn=2005;
int n,k;
int a[mxn],b[mxn];
int dp[mxn][mxn],ans[mxn];
int fac[mxn],inv[mxn],num[mxn];
inline void init()
{
    int i,j;
    fac[0]=inv[0]=inv[1]=1;
    fo(i,1,N) fac[i]=(ll)fac[i-1]*i%mod;
    fo(i,2,N) inv[i]=(ll)(mod-mod/i)*inv[mod%i]%mod;
    fo(i,1,N) inv[i]=(ll)inv[i]*inv[i-1]%mod;
}
inline int C(int n,int m)
{
    if(n<m) return 0;
    return (ll)fac[n]*inv[m]%mod*inv[n-m]%mod;
}
int main()
{
    int i,j;
    init();
    scanf("%d%d",&n,&k);
    if((n+k)%2==1)
      return puts("0"),0;
    k=n+k>>1;
    fo(i,1,n) scanf("%d",&a[i]);
    fo(i,1,n) scanf("%d",&b[i]);
    sort(a+1,a+n+1),sort(b+1,b+n+1);
    for(j=0,i=1;i<=n;i++)
    {
        while(j<n && b[j+1]<a[i]) j++;
        num[i]=j;
    }
    fo(i,0,n) dp[i][0]=1;
    fo(i,1,n) fo(j,1,i)
      dp[i][j]=(dp[i-1][j]+(ll)dp[i-1][j-1]*max(0,num[i]-j+1)%mod)%mod;
    for(i=n;i>=1;i--)
    {
        ans[i]=(ll)dp[n][i]*fac[n-i]%mod;
        fo(j,i+1,n)
          ans[i]=(ans[i]-(ll)C(j,i)*ans[j]%mod)%mod;
        ans[i]=(ans[i]+mod)%mod;
    }
    printf("%d\n",ans[k]%mod);
    return 0;
}



标签:ll,3622,害怕,define,bzoj,ans,fo,mod
From: https://blog.51cto.com/u_15967757/6168371

相关文章

  • bzoj1969. [AHOI2005] LANE 航线规划 树链剖分+离线逆向处理删边
    保证了无论怎么破坏航线,图都会是一个连通图也就是说,起码肯定有一棵生成树考虑在生成树上U,V之间加边,会对树上各个点的割边情况产生什么影响对于任意点对(u,v),如果它们之间的最短路径不经过从U到V的树上路径,那是没有影响的否则:关键路径的数目会减少减少了多少?U,V之间树上路径经......
  • Google为何从骨子里害怕Facebook
    Google联合创始人Brin最近炮轰苹果和Facebook,称互联网的“开放性”正在受到威胁。说到底,Brin此举除了为了自身利益外,更是反映出了Google对这两家公司的深深恐惧。苹果有望......
  • [BZOJ3331][BeiJing2013]压力
    #include<iostream>#include<cmath>#include<algorithm>#include<cstring>#include<cstdio>#include<vector>usingnamespacestd;vector<int>temp[5211314],b......
  • bzoj 3669 魔法森林
    3669:[Noi2014]魔法森林TimeLimit: 30Sec  MemoryLimit: 512MBSubmit: 2690  Solved: 1667Submit][Status][Discuss]Description为了得到书法大家......
  • bzoj 2843 极地旅行社
    2843:极地旅行社TimeLimit: 10Sec  MemoryLimit: 256MBSubmit: 771  Solved: 473[Submit][Status][Discuss]Description不久之前,Mirko建立了一......
  • bzoj 2555 SubString
    2555:SubStringTimeLimit: 30Sec  MemoryLimit: 512MBSubmit: 2611  Solved: 784[Submit][Status][Discuss]Description      懒得写背景......
  • bzoj 2157 旅游
    2157:旅游TimeLimit:10Sec  MemoryLimit:259MBSubmit:1649  Solved:725[Submit][Status][Discuss]DescriptionRay乐忠于旅游,这次他来到了T城。......
  • bzoj 2631 tree
    2631:treeTimeLimit: 30Sec  MemoryLimit: 128MBSubmit: 4429  Solved: 1488[Submit][Status][Discuss]Description一棵n个点的树,每个点的初始......
  • bzoj 2049 [Sdoi2008]Cave 洞穴勘测
    2049:[Sdoi2008]Cave洞穴勘测TimeLimit: 10Sec  MemoryLimit: 259MBSubmit: 8714  Solved: 4143[Submit][Status][Discuss]Description辉辉热衷......
  • bzoj 2806 [Ctsc2012]Cheat
    2806:[Ctsc2012]CheatTimeLimit: 20Sec  MemoryLimit: 256MBSubmit: 1324  Solved: 676[Submit][Status][Discuss]DescriptionInput第一行两个......