UVa 11806 Cheerleaders

题意:m行n列的矩形网格放k个相同的石子,要求第一行最后一行第一列最后一列都必须有石子,问有多少种放法

A为第一行没有石子的方案数,BCD依此类推,全集为S

如果没有任何要求的话,放法数应该是C(rc, k)

解法中利用容斥原理来解

所求的方案就是在S中但不在ABCD中任何一个的方案即:S - |A∪B∪C∪D|

而|A∪B∪C∪D| = |A| + |B| + |C| + |D| - |A∩B| - |A∩C| - |A∩D| - |B∩C| - |B∩D| - |C∩D|

+ |A∩B∩C| + |A∩B∩D| + |A∩C∩D| + |B∩C∩D| - |A∩B∩C∩D|

 

 1 //#define LOCAL
 2 #include <iostream>
 3 #include <cstdio>
 4 #include <cstring>
 5 using namespace std;
 6 
 7 const int MOD = 1000007;
 8 const int maxn = 500;
 9 int Co[maxn + 10][maxn + 10];
10 
11 int main(void)
12 {
13     #ifdef LOCAL
14         freopen("11806in.txt", "r", stdin);
15     #endif
16 
17     memset(Co, 0, sizeof(Co));
18     for(int i = 0; i <= maxn; ++i)
19         Co[i][0] = Co[i][i] = 1;
20     for(int i = 2; i <= maxn; ++i)
21         for(int j = 1; j < i; ++j)
22             Co[i][j] = (Co[i-1][j-1] + Co[i-1][j]) % MOD;
23     int T;
24     scanf("%d", &T);
25     for(int kase = 1; kase <= T; ++kase)
26     {
27         int n, m, k, sum = 0;
28         scanf("%d%d%d", &n, &m, &k);
29         for(int S = 0; S < 16; ++S)
30         {
31             int b = 0, r = n, c = m;
32             if(S & 1)    { ++b; --r; }
33             if(S & 2)    { ++b; --r; }
34             if(S & 4)    { ++b; --c; }
35             if(S & 8)    { ++b; --c; }
36             if(b & 1)
37                 sum = (sum + MOD - Co[r*c][k]) % MOD;
38             else
39                 sum = (sum + Co[r*c][k]) % MOD;
40         }
41         printf("Case %d: %d\n", kase, sum);
42     }
43     return 0;
44 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/3940468.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么说一站式移动办公SaaS平台一定是未来!

摘要&#xff1a;移动办公SaaS之间的核心竞争不在于比拼技术&#xff0c;而在于谁更好地与企业管理和文化相互融合&#xff0c;给企业带来更加年轻、更加高效的工作方式&#xff0c;实现了企业组织的互联网化。 没有哪个企业愿意当诺基亚&#xff0c;“并没有做错什么&#xff…

server sql 将出生日期转为年龄_在sql server表中有一个出生日期字段我怎么才能在当前年份改变时自动更新年龄字段...

先说明下identity(1,1)&#xff1a;自动1foreign key 外键语法create database ztxuse ztxCreate Table QAUser--baidu用户资料(Id int Primary Key not null identity(1,1),--自动编号,也同时用于对用户的标示符QA_name varchar(20),--用户名Sex char(2),--或者使用bit类型,但…

MySQL关联left join 条件on与where不同

以下的文章主要讲述的是MySQL关联left join 条件on与where 条件的不同之处&#xff0c;我们现在有两个表&#xff0c;即商品表(products)与sales_detail(销售记录表)。我们主要是通过这两个表来对MySQL关联left join 条件on与where 条件的不同之处进行讲述。 products: pid pna…

自动裁剪图片

自动裁剪商品图片View Code执行裁剪指定目录商品图片动作///<summary> ///执行指定目录商品图片动作 ///</summary> public static void FindPictureDoCutIt(object o) {string filePatho.ToString();try{DirectioryInfo fatherFolder new DirectioryInfo(filePat…

32位oracle_oracle 性能调优

pool&#xff0c;sga&#xff0c;pga的配置 物理内存16G在调整SGA前&#xff0c;先看下服务器操作系统是32位还是64位的&#xff0c;如果是32位的&#xff0c;则SGA最大不能超过1.7G&#xff0c;如果是64位的&#xff0c;则不能超过4G。基本分配原则&#xff0c;db_block_buffe…

看网络电子围栏如何做好周界安防

围栏是为了保护一定范围内的任何物遭到侵害而设立的一个屏障&#xff0c;在一定程度上有保护的作用&#xff0c;但是也不能完全阻止。传统的围栏以加高或者添加危险触碰物来增加安全性&#xff0c;但是会影响美观&#xff0c;不能进行主动击退&#xff0c;也给围栏内人物带来不…

Objective-C语法之代码块(block)的使用

代码块本质上是和其它变量相似。不同的是&#xff0c;代码块存储的数据是一个函数体。使用代码块是&#xff0c;你能够像调用其它标准函数一样&#xff0c;传入參数数&#xff0c;并得到返回值。脱字符&#xff08;^&#xff09;是块的语法标记。依照我们熟悉的參数语法规约所定…

C#委托和事件

http://www.cnblogs.com/leslies2/archive/2012/03/22/2389318.html 讲解比较好 转载于:https://www.cnblogs.com/sun-shadow/p/4872768.html

asp.net mvc使用mysql_ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

之前介绍了My Blog如何使用http://ADO.NET来访问SQL Server获取数据。本章将介绍如何使用My SQL来完成数据管理。在使用My SQL之前需确保开发环境中安装了My SQL数据库和Connector/Net&#xff0c;后者是一个用C#编写的http://ADO.NET数据提供器&#xff0c;换句话说无论使用SQ…

多元时代个人信息更需强有力保护

有网友反映&#xff0c;用多个搜索引擎搜索“手持身份证照片”&#xff0c;皆出现大量相关图片&#xff0c;人脸清晰&#xff0c;身份证号码等关键信息明白无误。不少网友担心“这么重要的信息就这么暴露&#xff0c;太危险”。记者发现&#xff0c;其中有弱势群体求助信息&…

修改Eclipse自动换行长度

使用CtrlShiftF自动格式化代码的时候&#xff0c;有时候折行太多反而让代码看起来更乱&#xff0c;不容易阅读。 解决办法&#xff1a; Window-->Preferences-->Java-->Code Style-->Formatter-->Edit-->Line Wrapping-->Maximum line width根据需要设置&…

卓越管理的实践技巧(1)如何进行有效的指导 Guidelines for Effective Coaching

Guidelines for Effective Coaching 前文卓越管理的秘密&#xff08;Behind Closed Doors&#xff09;最后一部分提到了总结的13条卓越管理的实践技巧并列出了所有实践技巧名称的索引&#xff0c;这篇文章主要写卓越管理的实践技巧的第&#xff08;1&#xff09;条&#xff1a;…

Java Web应用的生命周期

Java Web应用的生命周期。三个阶段&#xff1a;启动&#xff0c;运行&#xff0c;终止。  无论是web还是servlet他们的生命周期都是有容器来控制的。  启动&#xff1a;  1. 把web.xm 加载到内存中  2. 为web应用创建一个ServletContext对象  3. 对所有的Filter进行初…

count返回0_你是一直认为 count(1) 比 count(*) 效率高么?

MySQL count(1) 真的比 count(*) 快么? 反正同事们都是这么说的&#xff0c;我也姑且觉得对吧&#xff0c;那么没有自己研究一下究竟&#xff1f;如果我告诉你他们一样&#xff0c;你信么&#xff1f;有 Where 条件的 count&#xff0c;会根据扫码结果count 一下所有的行数&am…

13点建议顺利通过JAVA面试【转载】

原文&#xff1a;http://www.javamm.com/?p7274 找到一份高薪的java工作&#xff0c;从程序员走向高级程序员、架构师、分析员&#xff0c;是所有java程序员们的追求。 找一份好工作&#xff0c;自然要看工作经历、项目积累、综合能力。但是&#xff0c;在繁忙、琐碎的日常工作…

微软过冬的三大姿势:裁员,回购400亿美元股票,在中国开合资公司

近期没什么大新闻的微软&#xff0c;现在有了。 回购400亿美元股票&#xff0c;给股东发“红包” 先看一条开心的。根据外媒BusinessInsider的报道&#xff0c;微软日前发表声明称&#xff0c;董事会已经批准了一项价值上限达400亿美元的新股票回购计划&#xff0c;此次回购计划…

获取进程CPU占用率

获取进程CPU占用率 // 时间转换 static __int64 file_time_2_utc(const FILETIME* ftime) {LARGE_INTEGER li;li.LowPart ftime->dwLowDateTime;li.HighPart ftime->dwHighDateTime;return li.QuadPart; }// 获得CPU的核数 static int get_processor_number() {SYSTEM_…

dbeaver连接mysql失败_关于DBeaver连接MySQL数据库遇到的版本问题解决

在使用DBeaver连接MySQL数据库时&#xff0c;明明按照它提示进行jar包的下载&#xff0c;但是仍然报错&#xff0c;提示版本问题&#xff0c;那么这个时候我们要解决的就是MySQL版本对应驱动包的问题。笔者经过测试后有了一些心得&#xff0c;放上来希望对大家能够有所参考。首…

巴伦周刊:“物联网”正走向死胡同

作为当今科技界最流行的热门术语之一&#xff0c;“物联网”实际上是个使用不当的称呼&#xff0c;而对于科技界来说这是个大问题。顾名思义&#xff0c;“物联网”是由大量设备组成&#xff0c;比如智能家居设备制造商Nest的家用恒温器、苹果公司智能手表Apple Watch以及健身设…

【WIN10】VisualStateManager使用說明

Demo下載&#xff1a;http://yunpan.cn/cFjgPtWRHKH9H 访问密码 c4b7 顧名思義&#xff0c;視圖狀態管理器。 在WPF中&#xff0c;它的功能似乎更強大。在UWP中&#xff0c;閹割了GotElementState方法&#xff0c;導致它只能在控件內部使用。 這個東東一般用來突出某些操作&am…