• 2019.3.26考试


    T1

    60pts:

    只需要考虑删一个固定两个自由和两个固定一个自由的情况,转成一般图最大匹配

    好像数据比较水可以用奇怪的方法搞

    正解:

    T2

    推的式子和正解差了一些东西 gg

     

     1 #include<cstdio>
     2 const int N=1005,M=1e6+60,mod=1e9+7;
     3 int T,n,m,k,fac[M],inv[M],stl[N][N];
     4 int Qpow(int x,int k)
     5 {
     6     if(k<=1) return k?x:1;
     7     int tmp=Qpow(x,k>>1);
     8     return 1ll*tmp*tmp%mod*((k&1)?x:1)%mod;
     9 }
    10 void Pre()
    11 {
    12     stl[0][0]=1;
    13     int lim1=1000,lim2=1000000;
    14     for(int i=1;i<=lim1;i++)
    15         for(int j=1;j<=lim1;j++)
    16             stl[i][j]=(stl[i-1][j-1]+1ll*stl[i-1][j]*j%mod)%mod;
    17     fac[0]=inv[0]=1;
    18     for(int i=1;i<=lim2;i++) fac[i]=1ll*fac[i-1]*i%mod;
    19     inv[lim2]=Qpow(fac[lim2],mod-2);
    20     for(int i=lim2-1;i;i--) inv[i]=1ll*inv[i+1]*(i+1)%mod;
    21 }
    22 int C(int a,int b)
    23 {
    24     return 1ll*fac[a]*inv[b]%mod*inv[a-b]%mod;
    25 }
    26 int Sq(int x)
    27 {
    28     return 1ll*x*x%mod;
    29 }
    30 int main()
    31 {
    32     scanf("%d",&T),Pre();
    33     while(T--)
    34     {
    35         scanf("%d%d%d",&n,&m,&k);
    36         if(m==1) printf("%d
    ",Qpow(k,n));
    37         else if(m==2) 
    38         {
    39             int ans=0;
    40             for(int i=1;i<=k;i++)
    41             {
    42                 if(i>n) break;
    43                 (ans+=Sq(1ll*C(k,i)*stl[n][i]%mod*fac[i]%mod))%=mod;
    44             }
    45             printf("%d
    ",ans);
    46         }
    47         else
    48         {
    49             int ans=0;
    50             for(int i=1;i<=n;i++)
    51                 for(int j=1;j<=i;j++)
    52                 {
    53                     int ch=1ll*C(k,i)*C(k-i,i-j)%mod*C(i,j)%mod;
    54                     int md=1ll*Sq(1ll*stl[n][i]*fac[i]%mod)*Qpow(j,n*(m-2))%mod;
    55                     (ans+=1ll*ch*md%mod)%=mod; 
    56                 }
    57             printf("%d
    ",ans);
    58         }
    59     }
    60     return 0;
    61 }
    View Code

    T3

    orz shj

    这种和顺序无关的见了好几次了,找个小本本记下来

  • 相关阅读:
    Oracle Dataguard管理命令(logical standby)
    RAC 主库配置单实例ADG
    基于参数shared_pool_reserved_size进一步理解共享池shared pool原理
    线性表的本质和操作
    类族结构的进化
    顶层父类的创建
    异常类的构建——5个子类构建
    异常类的构建——顶层父类Exception的实现
    智能指针示例
    泛型编程简介
  • 原文地址:https://www.cnblogs.com/ydnhaha/p/10600229.html
Copyright © 2020-2023  润新知