//    uva 11806 Cheerleaders
//
// 题目大意:
//
// 给你n * m的矩形格子,要求放k个相同的石子,使得矩形的第一行
// 第一列,最后一行,最后一列都必须有石子.
//
// 解题思路:
//
// 容斥原理,我们这样考虑,如果只是n * m放石子,那么最后的结果
// 就是C(n*m,k).我们设A为第一行不放石头的总数,B为最后一行不放石子
// 的总数,C为第一列不放石子的总数,D为最后一列不放石子的总数.则问题
// 转化为在全集S中,求不在A,B,C,D部分的解.则答案为S - | A | - | B |
// - | C | - | D | + | A ^ B|......用一个二进制枚举状态,统计就可以了
//
// 感悟:
//
// 这道题,开始的时候,从正面做,看减去什么,但是最后都是把自己脑子搞糊涂
// 了,不知道自己在干什么,最后,就没有最后了,每次做题,都是这种感觉,看到解答
// 的时候,我才恍然大悟,原来可以这样啊,自己缺乏抽象思维,缺乏转换问题的思维
// 多说也没什么用,继续加油吧!FIGHTING #include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream> using namespace std; typedef long long ll; const int MAX_N = ;
const ll MOD = ;
ll C[MAX_N][MAX_N];
int n,m,k;
void init(){
C[][] = ;
for (int i=;i<MAX_N;i++){
C[i][] = C[i][i] = ;
for (int j=;j<i;j++)
C[i][j] = (C[i-][j-] + C[i-][j])%MOD;
}
} void input(){ scanf("%d%d%d",&n,&m,&k);
ll sum = ;
for (int S=;S<;S++){
int b = ,r = n,c = m;
if(S & ){
r--;
b++;
}
if (S & ){
r--;
b++;
}
if (S & ){
c--;
b++;
}
if (S & ){
c--;
b++;
}
if (b & )
sum = (sum + MOD - C[r * c][k])%MOD;
else
sum = (sum + C[r * c][k])%MOD;
}
cout << sum << endl;
} int main(){ int t;
init();
//freopen("1.txt","r",stdin);
scanf("%d",&t);
int kase = ;
while(t--){
printf("Case %d: ",kase++);
input();
}
}

uva 11806 Cheerleaders的更多相关文章

  1. UVA.11806 Cheerleaders (组合数学 容斥原理 二进制枚举)

    UVA.11806 Cheerleaders (组合数学 容斥原理 二进制枚举) 题意分析 给出n*m的矩形格子,给出k个点,每个格子里面可以放一个点.现在要求格子的最外围一圈的每行每列,至少要放一个 ...

  2. UVA 11806 Cheerleaders dp+容斥

    In most professional sporting events, cheerleaders play a major role in entertaining the spectators. ...

  3. UVa 11806 Cheerleaders (容斥原理+二进制表示状态)

    In most professional sporting events, cheerleaders play a major role in entertaining the spectators. ...

  4. uva 11806 Cheerleaders (容斥)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  5. UVA 11806 Cheerleaders (组合+容斥原理)

    自己写的代码: #include <iostream> #include <stdio.h> #include <string.h> /* 题意:相当于在一个m*n ...

  6. UVA 11806 Cheerleaders (容斥原理)

    题意 一个n*m的区域内,放k个啦啦队员,第一行,最后一行,第一列,最后一列一定要放,一共有多少种方法. 思路 设A1表示第一行放,A2表示最后一行放,A3表示第一列放,A4表示最后一列放,则要求|A ...

  7. UVA 11806 Cheerleaders (容斥原理

    1.题意描述 本题大致意思是讲:给定一个广场,把它分为M行N列的正方形小框.现在给定有K个拉拉队员,每一个拉拉队员需要站在小框内进行表演.但是表演过程中有如下要求: (1)每一个小框只能站立一个拉拉队 ...

  8. 【递推】【组合数】【容斥原理】UVA - 11806 - Cheerleaders

    http://www.cnblogs.com/khbcsu/p/4245943.html 本题如果直接枚举的话难度很大并且会无从下手.那么我们是否可以采取逆向思考的方法来解决问题呢?我们可以用总的情况 ...

  9. UVa 11806 - Cheerleaders (组合计数+容斥原理)

    <训练指南>p.108 #include <cstdio> #include <cstring> #include <cstdlib> using na ...

随机推荐

  1. html5的新标签

    header,section,footer,aside,nav,main,article,figure 在使用的时候,需要先把这个元素变为块级元素,确保在老的浏览器里面可以使用.因为在浏览器检测到未知 ...

  2. tesseract3.01的训练和使用

    相关源码.资源下载:http://code.google.com/p/tesseract-ocr/downloads/list 训练步骤: 1.  Generate Training Images:生 ...

  3. Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D

    Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D 从数据库 ...

  4. 无法更新 EntitySet“SoreInfo_Table”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <InsertFunction> 元素。

    无法更新 EntitySet"SoreInfo_Table",因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> ...

  5. IIS内存溢出-设置IIS的应用程序池

    在ASP.NET Web服务器上,ASP.NET所能够用到的内存,通常不会等同于所有的内存数量.在machine.config(C:/WINDOWS/Microsoft.NET/Framework/v ...

  6. java基于socket公共聊天室的实现

    项目:一个公共聊天室功能的实现,实现了登录聊天,保存聊天记录等功能. 一.实现代码 1.客户端 ChatClient.java import java.io.BufferedReader; impor ...

  7. Sql Server 分区之后增加新的分区

    随着时间的推移,你可能会希望为已分区的表添加额外的分区(例如,可以为每一个新年创建一个新的分区).要增加一个新的分区,可以使用ALTER PARTITION SCHEME和ALTER PARTITIO ...

  8. Arch Linux 简易打包指南

    本文时代久远,请参阅更可靠的:Arch User Repository (简体中文) - 分享和维护软件包 这两天给 Kreogist µ 打 Arch Linux 包,照着 wiki 跟着搞,同时在 ...

  9. 浅谈php设计模式(1)---工厂模式

    一.接口继承直接调用 先看看这样一段代码: <?php interface db{ function conn(); } class dbmysql implements db { public ...

  10. Spring Boot + Bootstrap 出现"Failed to decode downloaded font"和"OTS parsing error: Failed to convert WOFF 2.0 font to SFNT"

    准确来讲,应该是maven项目使用Bootstrap时,出现 "Failed to decode downloaded font"和"OTS parsing error: ...