uva11806】的更多相关文章

题目链接:https://www.luogu.org/problemnew/show/UVA11806 容斥原理+组合数 正着找合♂fa的不好找,那就用总方案数-不合♂fa的 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int maxn = 1000; const int mod = 1e6 +…
题目链接:https://cn.vjudge.net/problem/UVA-11806 题意 在一个mn的矩形网格里放k个石子,问有多少方法. 每个格子只能放一个石头,每个石头都要放,且第一行.最后一行.第一列和最后一列都有石子. 思路 设A为第一行格子.B为最后一行.C为第一列.D为最后一列. 很明显发现ABCD这个集合包含了重复元素,那么按照容斥定理可解. 注意: 1000007 不是素数,不能递推算逆元,因为mod%i==0 不要用乘法递推式算C,要用加法 容斥的技巧,用cont计数总方…
[题意] n行m列网格放k个石子.有多少种方法?要求第一行,第一列,最后一行,最后一列必须有石子. [题解] 利用容斥原理.可以转到求"第一行.第一列.最后一行.最后一列没有石子"的方案数. 枚举各个集合的组合时可以借助二进制进行枚举 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,sec,k; ][]; ; void pre() {…
题意 PDF 分析 如果要求是某行某列没有石子很好算,就一个组合数. 然后要求某行某列有,就用容斥原理就行了. 时间复杂度\(O(k^2 + 16T)\) 代码 #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<set> #include<map> #include<queue> #include<stack&…
n*m的矩形 k个人 第一行,最后一行,第一列,最后一列都至少站有一个人 小水题 正着做不好做,要反着想,那就容斥定理,ABCD四种情况分别是那四个行列分别没有人. #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> using namespace std; ; ; ][]; int main() { //freopen("a.in","…
11806 - Cheerleaders Time limit: 2.000 seconds In most professional sporting events, cheerleaders play a major role in entertaining the spectators. Their roles are substantial during breaks and prior to start of play. The world cup soccer is no excep…
题目链接 Solution 可以考虑到总方案即为 \(C_{nm}^k\) . 考虑到要求的是边缘都必须至少有 \(1\) ,所以考虑不合法的. 第一行和最后一行没有的方案即为 \(C_{(n-1)m}^k\) 第一列和最后一列没有的方案即为 \(C_{(m-1)n}^k\) 然后考虑将四边状态压起来,然后可以做容斥. 这四个状态只要有一位为 \(0\) ,那么就可以统计答案. 这时状态为0,就是都有算进去: 这时如果碰到 \(0001\),也就是第一行没有的状态,我们就减掉\(C_{(n-1)…
11806 - Cheerleaders Time limit: 2.000 seconds C Cheerleaders In most professional sporting events, cheerleaders play a major role in entertaining the spectators. Their roles are substantial during breaks and prior to start of play. The world cup soc…
UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 // // Created by Candy on 24/10/2016. // Copyright © 2016 Candy. All rights reserved. // #include <iostream> #include <cstdio> #include <cst…
https://vjudge.net/problem/UVA-11806 题意: 在一个m行n列的矩形网格里放k个相同的石子,有多少种方法?每个格子最多放一个石子,所有石子都要用完,并且第一行.最后一行.第一列.最后一列都得有石子. 思路: 如果考虑各种情况的话很复杂,设满足第一行没有石子的方案集为A,最后一行没有石子的方案集为B,第一列没有石子的方案集为C,最后一列没有石子的方案集为D,全集为S. 一个容斥原理的公式就可以解答出来,用二进制来枚举方案集的组合. #include <iostre…