很久以前做的一道思博题了,今天来补一补。

大致题意:在一个\(n*m\)的矩阵内填整数,数字在\([1,k]\)范围内。矩阵中某格的数为great number当且仅当与它同行同列的数字都严格比它小。记\(A_g\)为矩阵中恰有\(g\)个great number的填数方案数,求\(\sum_{g=0}^{nm}(g+1)\cdot A_g\)。(\(n,m,k\le200\))

首先我们可以看出,上界必定是\(min(n,m)\),这个不解释了吧

而又有一个性质,\(\sum_{g=0}^{min(n,m)} A_g=K^{nm}\)。即所有的great number方案数等于总填数方案数

所以我们拆出\(\sum_{g=0}^{min(n,m)} A_g\)于是只需要考虑如何构造出\(\sum_{g=0}^{min(n,m)} g\cdot A_g\)

我们还是回头再看一眼题面,\(g\)究竟是什么:

记\(A_g\)为矩阵中恰有\(g\)个great number的填数方案数

那么每一个great number在该方案下都对答案贡献\(1\)

还不懂?再转化一步,也就是每个格子上的数为great number的方案数之和

这就是\(\sum_{g=0}^{min(n,m)} g\cdot A_g=nm\cdot\sum_{i=2}^k (i-1)^{n+m-2}\cdot k^{(n-1)\cdot (m-1)}\)

然后各种乱搞就可以了

CODE

#include<cstdio>
#include<cctype>
using namespace std;
const int mod=1e9+7;
int t,n,m,k,ans;
inline char tc(void)
{
static char fl[100000],*A=fl,*B=fl;
return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
}
inline void read(int &x)
{
x=0; char ch; while (!isdigit(ch=tc()));
while (x=(x<<3)+(x<<1)+ch-'0',isdigit(ch=tc()));
}
inline int quick_pow(int x,int p)
{
long long tot=1;
while (p)
{
if (p&1) tot=tot*1LL*x%mod;
x=1LL*x*x%mod; p>>=1;
}
return (int)tot;
}
inline void inc(int &x,int y)
{
if ((x+=y)>=mod) x-=mod;
}
int main()
{
//freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
register int i,j; read(t);
for (i=1;i<=t;++i)
{
read(n); read(m); read(k);
for (ans=0,j=2;j<=k;++j)
inc(ans,1LL*quick_pow(j-1,n+m-2)*quick_pow(k,n*m-n-m+1)%mod);
ans=(1LL*ans*n*m)%mod; inc(ans,quick_pow(k,n*m));
printf("Case #%d: %d\n",i,ans);
}
return 0;
}

CF [2016-2017 ACM-ICPC CHINA-Final][GYM 101194 H] Great Cells的更多相关文章

  1. ACM ICPC China final G Pandaria

    目录 ACM ICPC China final G Pandaria ACM ICPC China final G Pandaria 题意:给一张\(n\)个点\(m\)条边的无向图,\(c[i]\) ...

  2. 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  3. 2017 ACM/ICPC Shenyang Online SPFA+无向图最长路

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  4. 2017 ACM ICPC Asia Regional - Daejeon

    2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...

  5. 2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest

    2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest A - Arranging Wine 题目描述:有\(R\)个红箱和\(W\)个白箱,将这 ...

  6. 2017 ACM/ICPC Asia Regional Qingdao Online

    Apple Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submi ...

  7. HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting

    Brute Force Sorting Time Limit: 1 Sec  Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

  8. 2017 ACM/ICPC(北京)总结

    这个季节的,北京真的很冷. 下午的热身赛,我依然先去敲一道搜索题,但是很不幸这道搜索题坑点还是蛮多的,浪费了好长时间后依然没能A掉,期间Codeblocks崩溃一次使得代码完全丢失,在队友的建议下便暂 ...

  9. 2017 ACM/ICPC Asia Regional Shenyang Online transaction transaction transaction

    Problem Description Kelukin is a businessman. Every day, he travels around cities to do some busines ...

随机推荐

  1. 给你一个全自动的屏幕适配方案(基于SW方案)!—— 解放你和UI的双手

    Calces系列相关文章:Calces自动实现Android组件化模块构建 前言 屏幕适配一直是移动端开发热议的问题,但是适配方案往往在实际开发的时候会和UI提供的设计稿冲突.本文主要是基于官方推荐的 ...

  2. (网页)AngularJS中【Error: [$rootScope:inprog]】的解决办法(转)

    转自CSDN: Error: [$rootScope:inprog] http://errors.angularjs.org/1.5.8/$rootScope/inprog?p0=%24apply 如 ...

  3. Web服务并发I/O模型

    I/O模型: 阻塞型.非阻塞型.复用型.信号驱动型.异步 同步/异步: 关注消息通知机制 消息通知: 同步:等待对方返回消息 异步:被调用者通过状态.通知或回调机制通知调用者被调用者的运行状态 阻塞/ ...

  4. Linux 小知识翻译 - 「Shell 脚本」

    这次说说「Shell 脚本」. 根据上回的介绍,Shell就是「作为联系Linux和用户的接口而存在的软件」.在Linux环境中,通过Shell来操作系统很普遍. 这里,考虑到有时候可能想要「多次的进 ...

  5. Eclipse 报错The method xxx of type must override a superclass method、Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet

    问题: 如上图, 没改钱@Override会报错The method run() of type must override a superclass method 原因: java1.5中继承接口是 ...

  6. web自动化-窗口句柄及位置变化

    在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下 from selenium import webdriver driver = webd ...

  7. 【Android自动化】测试android手机唤醒性能测试

    # -*- coding:utf-8 -*- import time import os import common.common from common.getconfigs import GetC ...

  8. element-ui使用导航栏跳转路由用法

    element-ui使用导航栏跳转路由用法 最近初学vue,试着做一个小项目熟悉语法与思想,其中使用elemen-ui的导航栏做路由跳转切换页面.下面记录一下学习过程 element-ui引入vue项 ...

  9. UVA1599-Ideal Path(BFS进阶)

    Problem UVA1599-Ideal Path Time Limit: 3000 mSec Problem Description New labyrinth attraction is ope ...

  10. 转://对于11gR2的集群relink

    对于11gR2的集群relink参考MOS:Do I need to relink the Oracle Clusterware / Grid Infrastructure home after an ...