zoukankan      html  css  js  c++  java
  • codeforces#101194H. Great Cells(数学)

    题目链接:

    https://codeforces.com/gym/101194

    题意:

    在$n×m$的各自中填上$1$到$k$的数

    定义Greate cell为严格大于同行和同列的格子

    定义$A_g$为存在$g$个Greate cell的方案数

    求$sum_{g=0}^{nm}(g+1)*A_g$

    数据范围:

    $1leq n leq 200$

    $1leq m leq 200$

    $1leq k leq 200$

    分析: 

    $sum_{g=0}^{nm}(g+1)*A_g=sum_{g=0}^{nm}A_g+sum_{g=0}^{nm}A_g*g$

    左边部分为所有排列的方案数也就是$k^{n imes m}$

    右边是每个Great cell的贡献

    AC代码:

    #include<bits/stdc++.h>
    #define ll long long
    #define pic pair<int,char>
    #define pii pair<int,int>
    using namespace std;
    const int maxn=3e5+7;
    const int mod=1e9+7;
    ll qpow(ll x,ll y){
        ll res=1;
        while(y){
            if(y&1)res=res*x%mod;
            x=x*x%mod;
            y/=2;
        }
        return res;
    }
    int main(){
       // cout<<qpow(2,10)<<endl;
        int T;
        scanf("%d",&T);
        for(int cn=1;cn<=T;cn++){
            int n,m,k;
            scanf("%d %d %d",&n,&m,&k);
            ll ans=qpow(k,n*m),res=0;
            for(int i=2;i<=k;i++)
                res=(res+qpow(i-1,n+m-2)*qpow(k,(n-1)*(m-1))%mod)%mod;
            ans=(ans+res*n*m%mod)%mod;
            printf("Case #%d: %lld
    ",cn,ans);
        }
        return 0;
    }
    

      

  • 相关阅读:
    Nginx proxy开启cache缓存
    Nginx Server 配置
    nginx 全局配置
    Nginx 配置文件解析
    Python-Scrapy框架
    Python-shutil模块
    os模块3
    os模块
    python os模块atime ,ctime,mtime意义
    Python-正则表达式
  • 原文地址:https://www.cnblogs.com/carcar/p/11629560.html
Copyright © 2011-2022 走看看