n*m的矩形 k个人 第一行,最后一行,第一列,最后一列都至少站有一个人

小水题

正着做不好做,要反着想,那就容斥定理,ABCD四种情况分别是那四个行列分别没有人。

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cstring>
 4 #include<iostream>
 5 using namespace std;
 6
 7 const int mod=1000007;
 8 const int K=500;
 9
10 int c[510][510];
11
12 int main()
13 {
14     //freopen("a.in","r",stdin);
15     memset(c,0,sizeof(c));
16     c[0][0]=1;
17     for(int i=1;i<=K;i++)
18     {
19         c[i][0]=c[i][i]=1;
20         for(int j=1;j<i;j++)
21             c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
22     }
23     int T;
24     scanf("%d",&T);
25     for(int TT=1;TT<=T;TT++)
26     {
27         int n,m,k,ans=0;
28         scanf("%d%d%d",&n,&m,&k);
29         for(int s=0;s<(1<<4);s++)
30         {
31             int nn=n,mm=m,sum=0;
32             if(s&(1<<0)) nn--,sum++;
33             if(s&(1<<1)) mm--,sum++;
34             if(s&(1<<2)) nn--,sum++;
35             if(s&(1<<3)) mm--,sum++;
36             if(sum&1) ans=(ans-c[nn*mm][k]+mod)%mod;
37             else ans=(ans+c[nn*mm][k])%mod;
38         }
39         printf("Case %d: %d\n",TT,ans);
40     }
41     return 0;
42 }

转载于:https://www.cnblogs.com/KonjakJuruo/p/9687652.html

[uva11806]容斥定理相关推荐

  1. hdu 1796 How many integers can you find 容斥定理

    一开始看 这里 这个文章博主写得很好. 当举容斥定理的所谓 奇数为负 偶数为正的时候. 我直接就认为是 a*b 了.实际上是lcm(a,b). 由于博文中的因子都是互素的(素数之间).所以lcm(a, ...

  2. UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理

    这个是参考了别人之后的代码,POJ上0MS过了.Orz......对于一个序列在提取了2,5之后,例如1,2,3,4,5,6,7,8,9,10,我们可以将其中的奇数和偶数分开来对待,对于偶数序列2,4 ...

  3. HDU-4059 The Boss on Mars 容斥定理

    将与N不互质的数全部找出来,再应用容斥定理求得最后的结果.这题在求 a/b MOD c 的时候使用费马小定理等价于 a*b^c(-2) MOD c.用x/lnx 可以估计出大概有多少素数. 代码如下: ...

  4. Codeforces Round #330 (Div. 2) B. Pasha and Phone 容斥定理

    B. Pasha and Phone Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/595/pr ...

  5. 组合数学 —— 容斥定理

    [概述] 容斥原理是一种较常用的计数方法,其基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复. 容斥原理 ...

  6. HDU-1796 How many integers can you find 容斥定理

    红果果的容斥定理. 代码如下: #include <cstdlib> #include <cstring> #include <cstdio> #include & ...

  7. [acmm week12]染色(容斥定理+组合数+逆元)

    1003 染色         Time Limit: 1sec    Memory Limit:256MB Description 今天离散数学课学了有关树的知识,god_v是个喜欢画画的人,所以他 ...

  8. Killer Names( 容斥定理,快速幂 )

    题目大意: m种不同颜色的球,填两组盒子,每组盒子有n个,两组盒子中不能有相同颜色的球,问方法总数有多少. 解题思路:利用容斥定理,m种颜色放入n个格子共有m^n个,但其中肯定有不满足m种颜色的,所以 ...

  9. HDU 6143 Killer Names【容斥定理】【排列组合】

    题目来戳呀 Problem Description Galen Marek, codenamed Starkiller, was a male Human apprentice of the Sith ...

  10. 最简真分数c语言,HihoCoder1655 : 第K小最简真分数([Offer收割]编程练习赛39)(唯一分解+容斥定理+二分)(不错的数学题)...

    描述 给一个整数N,请你求出以N为分母的最简(既约)真分数中第K小的是多少? 输入 两个整数N个K. 对于30%的数据,1 <= N <= 1000000 对于100%的数据,1 < ...

最新文章

  1. 香帅的北大金融学课笔记 -- 金融学专题
  2. linux 创建wifi 热点_Linux创建无线WIFI热点 2.4g/5g
  3. nginx动态配置及服务发现那些事
  4. python安装redis库
  5. Lock的lock()方法
  6. Spring 中设置依赖注入
  7. treeselect 如何选中多个_转pdf后出现word没有的形状——对象选择窗格(同时选择多个形状、图形)...
  8. 如何管好下属(转载)
  9. php编写九九乘法表隔行换色,JavaScript实现99乘法表及隔行变色实例代码
  10. 2019swpuj2ee作业3
  11. 【RLchina第二讲】 Foundations of Reinforcement Learning
  12. 论文笔记_S2D.18_2019-ICRA_DeepFusion: 基于单视图深度和梯度预测的单目SLAM实时稠密三维重建
  13. excel使用教程_【免费】人人入手的办公软件(excel,ppt,word)——安装包/教程/模板合集...
  14. 华表Cell应用 - 在IE中使用华表Cell插件 | #华表Cell #报表
  15. Boxplot箱线图
  16. C语言运行时检查失败#2 周围的堆栈已损坏。
  17. Java Email-----使用Java程序实现收发电子邮件
  18. 1148环形石子合并
  19. [PHP问题]Cannot redeclare xxxxxx() (previously declared in C:\WWW\xxx.xxx:xxx)
  20. ViewPager(一屏多页、无限滑动、自动切换)

热门文章

  1. (17)python_字典
  2. 用c语言编写六边形游戏,玩了这款搞花样的一笔画游戏,我的发量已经有点保不住了...
  3. c语言开发实际,21实际c语言教程-1 (转)
  4. hasp运行不成功_国内首条ZA-PPV电缆成功运行50天 新电缆有啥不一样?
  5. 自定义数据库连接池和Druid介绍
  6. 利用deepface网络进行表情分类
  7. 百度开源深度学习框架【飞桨——PaddlePaddle】学习实践一
  8. 如何获取HTML元素所对应的javascript对象?
  9. C++ 单元测试框架 Boost Test BOOST_AUTO_TEST_CASE
  10. 区块链 hyperledger fabric的系统链码有哪些类型 LSCC ESCC VSCC CSCC是什么