传送门

分析

首先我们发现$k$位数实际就是一位的情况的$k$次方

考虑一开始的总方案数是$2^{nm}$

我们每一次枚举其中有$i$行$j$列

对于这种情况的容斥系数为$(-1)^{i+j}$

方案数为$C_n^i*C_m^j*2^{(n-i)(m-j)}$

表示$n$行选$i$行,$m$列选$j$列,除此以外的点随便填有多少种方案

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
const long long mod = 1e9+;
long long c[][],n,m,k;
inline void getc(){
int i,j;
c[][]=;
for(i=;i<=;i++)
c[i][]=c[i][i]=;
for(i=;i<=;i++)
for(j=;j<i;j++)
c[i][j]=(c[i-][j]+c[i-][j-])%mod;
return;
}
inline long long pw(long long x,long long p){
long long res=;
x%=mod;
while(p){
if(p&)res=res*x%mod;
x=x*x%mod;
p>>=;
}
return res;
}
int main(){
long long i,j,t;
scanf("%lld",&t);
getc();
while(t--){
scanf("%lld%lld%lld",&n,&m,&k);
long long Ans=pw(,n*m);
for(i=;i<=n;i++)
for(j=;j<=m;j++){
if(i==&&j==)continue;
if((i+j)%){
Ans=(Ans+mod-c[n][i]*c[m][j]%mod*pw(,(n-i)*(m-j))%mod)%mod;
}else {
Ans=(Ans+c[n][i]*c[m][j]%mod*pw(,(n-i)*(m-j))%mod)%mod;
}
}
printf("%lld\n",pw(Ans,k));
}
return ;
}

EZOJ #82的更多相关文章

  1. Bullet核心类介绍(Bullet 2.82 HelloWorld程序及其详解,附程序代码)

    实验平台:win7,VS2010 先上结果截图: 文章最后附有生成该图的程序. 1. 刚体模拟原理 Bullet作为一个物理引擎,其任务就是刚体模拟(还有可变形体模拟).刚体模拟,就是要计算预测物体的 ...

  2. windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)

    平台:Win7,VS2010 1. Bullet库的组织 下图是Bullet_User_Manual中的截图: 从中可见,Bullet的LinearMath(线性数学模块),其上是BulletColl ...

  3. 重新想象 Windows 8.1 Store Apps (82) - 绑定: DataContextChanged, TargetNullValue, FallbackValue, UpdateSourceTrigger

    [源码下载] 重新想象 Windows 8.1 Store Apps (82) - 绑定: DataContextChanged, TargetNullValue, FallbackValue, Up ...

  4. Part 82 to 85 Talking about Generic queue, stack collection class

    Part 82   Generic queue collection class Part 83   Generic stack collection class Part 84   Real tim ...

  5. nyist 82迷宫寻宝(一)(BFS)

    题目连接:http://acm.nyist.net/JudgeOnline/problem.php?pid=82 此题在基础BFS上加入了门和钥匙,要找齐所有钥匙才能开门,所以要对门特殊处理. 1.先 ...

  6. 关于Oracle SQL/82标准和SQL/92标准

    在ORACLE9i之前,oracle语法基础是SQL/86标准,9i及之后的版本中支持SQL/92标准.基表信息:products.purchases和product_types SQL> se ...

  7. 迷你MVVM框架 avalonjs 0.82发布

    迷你MVVM框架 avalonjs 0.82发布 本版本最大的改进是启用全新的parser. parser是用于干什么的?在视图中,我们通过绑定属性实现双向绑定,比如ms-text="fir ...

  8. 【Android Developers Training】 82. 序言:传输数据时减少对电池寿命的影响

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  9. leetcode 203. Remove Linked List Elements 、83. Remove Duplicates from Sorted List 、82. Remove Duplicates from Sorted List II(剑指offer57 删除链表中重复的结点)

    203题是在链表中删除一个固定的值,83题是在链表中删除重复的数值,但要保留一个:82也是删除重复的数值,但重复的都删除,不保留. 比如[1.2.2.3],83题要求的结果是[1.2.3],82题要求 ...

随机推荐

  1. Spring与RMI集成实现远程访问

    使用spring对RMI的支持,可以非常容易地构建你的分布式应用.在服务端,可以通过Spring的org.springframework.remoting.rmi.RmiServiceExporter ...

  2. GUID在.net里的使用

    GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...

  3. WC2018 即时战略

    交互题 一棵树,一开始只有 1 号点是已知的,其他的都是未知的,你可以调用函数 explore(x,y) ,其中 x 必须是已知的,函数会找到 x 到 y 路径上第二个点,并把它标成已知,求最小步数使 ...

  4. swing之flowlayout

    import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; //1.继承 JFrame类 // ...

  5. Angular5学习笔记 - 配置Http(七)

    一.引入Http模块 编辑\src\app\app.module.ts文件 import { HttpModule } from '@angular/http'; /* 注册模块 */ imports ...

  6. Extjs5.0 学习之路【资源篇】

    磨刀不误砍柴工. 先收集资源,然后再开始学习之路. Extjs5.0 文件下载 API-5.0 API离线包 http://cdn.sencha.com/downloads/docs/ext-docs ...

  7. spring容器启动的三种方式

    一.在Web项目中,启动Spring容器的方式有三种,ContextLoaderListener.ContextLoadServlet.ContextLoaderPlugin. 1.1.监听器方式: ...

  8. Redis事务和watch

    redis的事务 严格意义来讲,redis的事务和我们理解的传统数据库(如mysql)的事务是不一样的. redis中的事务定义 Redis中的事务(transaction)是一组命令的集合. 事务同 ...

  9. PostgreSQL本地化

    从管理员的角度描述可用的本地化特性.PostgreSQL支持两种本地化方法:利用操作系统的区域(locale)特性,提供对区域相关的排序顺序.数字格式. 翻译过的信息和其它方面.提供一些不同的字符集来 ...

  10. 火星坐标、百度坐标、WGS84坐标转换代码(JS)

    JS版本源码 /** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09).国测局坐标(火星坐标,GCJ02).和WGS84坐标系之间的转换 */ / ...