2016-2017 ACM-ICPC CHINA-Final H Great Cells ans[i]*i看做整体,转化为期望理解来解题
/**
题目:2016-2017 ACM-ICPC CHINA-Final H Great Cells
链接:http://codeforces.com/gym/101194
题意:给定n*m的矩形,a[i][j]的数据范围为[1,k];
如果a[i][j]是自己所在行和所在列最大的(唯一最大的),那么这个格子就是great cell;
令Ag表示有g个great cell的矩形数量。
求: sigma[g=0,n*m](g+1)*Ag mod(1e9+7);
思路:
原式可以拆成sigma[g=0,n*m]g*Ag mod(1e9+7) + sigma[g=0,n*m]Ag mod(1e9+7);
第二个式子显然是所有矩阵数量,即:k^(n*m);
第一个式子:
注意g*Ag不要拆开,看做整体相当于求期望值,只不过舍去了分母。所以等价于求每一个格子是great cell的期望值。
所以所有格子的期望值之和就是第一个式子结果;
sigma[i=1,k]Pow(i-1,n+m-2)*Pow(k,(n-1)*(m-1))*(n*m) mod(1e9+7); i的值表示选定的格子是great cell的值,那么同行同列的n+m-2个格子就是i-1中选取。
剩下的格子(n-1)*(m-1)个都从k中选取。 总共n*m个格子的期望值之和。每个格子期望值都是一样的。 */
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
#include<set>
#include<cstring>
#include<cmath>
using namespace std;
typedef pair<int,int> P;
typedef long long LL;
const int N = 1e5+;
const int mod = ;
const int INF = 0x3f3f3f3f;
int n, k, m;
LL Pow(LL x,int y)
{
LL p = ;
while(y)
{
if(y&) p = p*x%mod;
x = x*x%mod;
y>>=;
}
return p;
}
int main()
{
int T, cas=;
cin>>T;
while(T--)
{
scanf("%d%d%d",&n,&m,&k);
LL sum = ;
for(int i = k; i >= ; i--){
sum = (sum+Pow((LL)i-,n+m-))%mod;
}
sum = sum*Pow((LL)k,(n-)*(m-))%mod;
sum = sum*n*m%mod;
sum = (sum+Pow((LL)k,n*m))%mod;
printf("Case #%d: %I64d\n",cas++,sum);
}
return ;
}
2016-2017 ACM-ICPC CHINA-Final H Great Cells ans[i]*i看做整体,转化为期望理解来解题的更多相关文章
- ACM ICPC China final G Pandaria
目录 ACM ICPC China final G Pandaria ACM ICPC China final G Pandaria 题意:给一张\(n\)个点\(m\)条边的无向图,\(c[i]\) ...
- 2016 China Final H - Great Cells
/************************************************************************* > File Name: H.cpp > ...
- 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 2017 ACM/ICPC Shenyang Online SPFA+无向图最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 2017 ACM ICPC Asia Regional - Daejeon
2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...
- 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\)个白箱,将这 ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- 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 ...
- 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 ...
随机推荐
- KL变换和PCA的数学推导
一些推导的笔记 上面分解成无穷维,大多数时候都不是的吧... 这里的d有限维,应该是指相对小于上面的分解的维度的某个数 参考资料 参考资料,上面是从最小化损失的角度,利用拉格朗日对偶的优化方法求解 p ...
- Eclipse 构建Maven项目--普通web项目
一.Maven项目的新建 1.鼠标右键---->New----->Maven Project 2.直接点下一步 3.选中 maven-archetype-webapp 后点击下一步 4. ...
- 这里先发布一个,自己写得unityUI的适配的方案(插播)
这个适配是依据坐标系的象限的思想来进项适配的.參考了部分的NGUI的适配方案. 在程序的事实上,来測量UI距离相机边界的像素然后依据比例来进行适配,个人认为还不错. 放码! . 有个前提哦就是你要先定 ...
- TestNG系列之二:TestNG套件测试
测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运行的测试.套件可以包含 ...
- projecteuler---->problem=10----Summation of primes
title: The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17. Find the sum of all the primes below tw ...
- 我的Go语言学习之旅二:入门初体验 Hello World
好吧,全部的程序猿们都已经习惯了.学习不论什么一门语言,我们都会以Hello World实例開始我们的学习,我也不例外.先来一个简单的样例 打开编辑器 (能够用记事本,我已经习惯 Notepad++了 ...
- 【DB2】判断连续时间,如果间断则新增一条记录
需求描述 例如:产品A01 2017-01-02到2017-01-03产品状态都是差,那么就是一条记录 但是在2017-01-04这天的状态不是差,到了5日这天又是差了 就是另外一条记录了 需求处理 ...
- Drupal启动阶段之三:数据库
Drupal在数据库启动阶段仅仅是简单地包含了database.inc文件,然后再注册类加载器: function _drupal_bootstrap_database() { // Initiali ...
- mysql中如何统计某字段里某个字符的个数
select * from order where length(order_num)-length(replace(order_num,'8','')) = 4
- SQL数据表插入随机数(转)
declare @T TABLE (id int identity(1,1),[Name] nvarchar(20), Randnum int) insert @T ([Name]) select ' ...