题目链接:

http://codeforces.com/gym/101194/attachments

https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5926

题意:

给出 $N$ 行 $M$ 列的网格,每个格子内可以填入 $[1,K]$ 内的任意整数。

如果某个格子,它是它所在行上严格最大的,同时也是所在列上严格最大的,则认为这个格子是好格子。

对于一个非负整数 $g$,可以有 $A_g$ 种填法使得网格内好格子数目正好为 $g$。

现在要求 $\sum_{g=0}^{NM}(g+1) A_g$,输出答案模 $1e9+7$ 后的结果。

题解:

首先,一个 $N \times M$ 的网格最多有 $\min(N,M)$ 个好格子,不可能更多了,因此 $\sum_{g=0}^{NM}(g+1) A_g = \sum_{g=0}^{\min(N,M)}(g+1) A_g$。

又 $\sum_{g=0}^{\min(N,M)}(g+1) A_g = \sum_{g=0}^{\min(N,M)}g\cdot A_g + \sum_{g=0}^{\min(N,M)} A_g$,

显然,$\sum_{g=0}^{\min(N,M)} A_g$ 即 $[1,K]$ 内的数无限制任意填入网格的所有填法数目 $K^{NM}$。

那么剩下来就是求 $\sum_{g=0}^{\min(N,M)}g\cdot A_g$:

单独考虑 $g \cdot A_g$ 的意义,现在我每一种能产生 $g$ 个好格子的方案,都要乘上一个 $g$。相当于对这 $g$ 个格子里的每个格子都累计上一个方案数 $A_g$。

那么换言之,$\sum_{g=0}^{\min(N,M)} A_g$ 就相当于,对每个格子让其成为好格子的方案数的累加。

而某一个格子,可以使得它成为好格子的填法有 $\sum_{i=2}^{K}(i-1)^{n-1+m-1}\cdot K^{(N-1)(M-1)}$ 种,

总共 $N \times M$ 个好格子,因此 $\sum_{g=0}^{\min(N,M)}g\cdot A_g = NM \sum_{i=2}^{K}(i-1)^{n-1+m-1}\cdot K^{(N-1)(M-1)}$。

综上,答案为 $\sum_{g=0}^{NM}(g+1) A_g = K^{NM} + NM \sum_{i=2}^{K}(i-1)^{n-1+m-1}\cdot K^{(N-1)(M-1)}$。

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+;
int n,m,k;
ll fpow(ll a,ll n)
{
ll res=,base=a%mod;
while(n)
{
if(n&) res*=base, res%=mod;
base*=base, base%=mod;
n>>=;
}
return res%mod;
}
int main()
{
int T;
cin>>T;
for(int kase=;kase<=T;kase++)
{
cin>>n>>m>>k;
ll ans=;
for(int i=;i<=k;i++)
{
ans+=fpow(i-,n+m-)*fpow(k,(n-)*(m-))%mod;
ans%=mod;
}
ans*=(n*m)%mod, ans%=mod;
ans+=fpow(k,n*m), ans%=mod;
printf("Case #%d: %lld\n",kase,ans);
}
}

Gym 101194H / UVALive 7904 - Great Cells - [数学题+快速幂][2016 EC-Final Problem H]的更多相关文章

  1. UVaLive 7361 Immortal Porpoises (矩阵快速幂)

    题意:求Fibonacci的第 n 项. 析:矩阵快速幂,如果不懂请看http://www.cnblogs.com/dwtfukgv/articles/5595078.html 是不是很好懂呢. 代码 ...

  2. Gym 101194D / UVALive 7900 - Ice Cream Tower - [二分+贪心][2016 EC-Final Problem D]

    题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...

  3. Gym 101194C / UVALive 7899 - Mr. Panda and Strips - [set][2016 EC-Final Problem C]

    题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...

  4. Gym 102056L - Eventual … Journey - [分类讨论][The 2018 ICPC Asia-East Continent Final Problem L]

    题目链接:https://codeforces.com/gym/102056/problem/L LCR is really an incredible being. Thinking so, sit ...

  5. All X_数的快速幂

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission( ...

  6. HDU 6185 Covering 矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6185 题意:用 1 * 2 的小长方形完全覆盖 4 * n的矩形有多少方案. 解法:小范围是一个经典题 ...

  7. Codeforces Round #536 (Div. 2) F 矩阵快速幂 + bsgs(新坑) + exgcd(新坑) + 欧拉降幂

    https://codeforces.com/contest/1106/problem/F 题意 数列公式为\(f_i=(f^{b_1}_{i-1}*f^{b_2}_{i-2}*...*f^{b_k} ...

  8. CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】

    题目链接:传送门    //a^b   传送门    //64位整数乘法 题目: 描述 求 a 的 b 次方对 p 取模的值,其中 ≤a,b,p≤^ 输入格式 三个用空格隔开的整数a,b和p. 输出格 ...

  9. Educational Codeforces Round 60 D dp + 矩阵快速幂

    https://codeforces.com/contest/1117/problem/D 题意 有n个特殊宝石(n<=1e18),每个特殊宝石可以分解成m个普通宝石(m<=100),问组 ...

随机推荐

  1. PHP 实现自动加载

    自动载入主要是省去了一个个类去 include 的繁琐,在 new 时动态的去检查并 include 相应的 class 文件. 先上代码: //index.php <?php class Cl ...

  2. oralce 11.2.0.4手动创建EM

    安装完oracle,启动dbconsole,失败 [oracle@elearning admin]$ emctl start dbconsole OC4J Configuration issue. / ...

  3. ShrePoint 迁移域控

    背景: 客户的AD服务器换掉,重新安装AD,SharePoint服务器重新加入域后,将所有服务账号换成新域的账号. 虽然SP的应用程序采用的是表单认证,但是,用户(包括管理员)访问站点,添加数据的时候 ...

  4. 【Linux】常见公共DNS地址

    如果您是程序员.系统管理员或任何类型的 IT 工作者,那么您可能有自己最喜欢的用于故障排除的 IP 地址.而且你可能已经用了好几年了. 这些 ip 可用于: ping 测试连接 使用 dig 或 ns ...

  5. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序

    SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论   异常汇总:http://www ...

  6. MySQL 4 种隔离级别的区别

    ## 测试环境 mysql> select version(); +------------+ | version() | +------------+ -log | +------------ ...

  7. rdesktop使用记录

    常用命令 连接远程windows RDP服务器,映射本机/home/ssooking/share/目录到windows上,名称为Myshare. rdesktop -a 16 -u xxx -p xx ...

  8. lbs@node(lbs asp blog 移植到 nodejs)

    lbs@node 2018年的4月26日,我在自己的idea清单中,加上了一条"基于 nodejs 移植 lbs 博客系统". 一.lbs 是什么东东? 它是一款比较小众的博客程序 ...

  9. [Linux]systemd和sysV

    转自:https://www.cnblogs.com/EasonJim/p/7168216.html 在Debian8中systemd和sysVinit同时存在,NTP就是在/etc/init.d/n ...

  10. SudaMod-81.0 / crDroidAndroid-8.1(android-8.1.0_r20)红米3 2018年5月3日更新

    一.写在前面 我只是个人爱好,本ROM未集成任何第三方推广软件,我只是喜欢把好的资源分享出来,若可以,我们一起学习,一起进步. 请不要问我怎么刷机! 请不要问我玩游戏卡不卡(有钱你就换好点的手机)! ...