G-Snake Rana
https://codeforces.com/gym/323862/problem/G
先算出来总数,再减去含有炸弹的
可以用容斥定理
含有炸弹的=仅含有一个的-含有两个的+含有三个的-……
要计算几个集合并集的大小,
我们要先将所有单个集合的大小计算出来,
然后减去所有两个集合相交的部分,
再加回所有三个集合相交的部分,
再减去所有四个集合相交的部分,
依此类推,
一直计算到所有集合相交的部分。
#include<bits/stdc++.h>
using namespace std;
const long long maxn=1e4+5;
const long long minn=-1;
struct node{long long x,y;
};
node nd[30];
void solve(){long long minx,miny,maxx,maxy;long long n,m,k;long long ans=0;cin>>n>>m>>k;for(int i=1;i<=k;i++){cin>>nd[i].x>>nd[i].y;}ans=(n*(n+1)/2)*(m*(m+1)/2);for(int i=1;i<(1<<k);i++){//初始化maxx=minn;maxy=minn;minx=maxn;miny=maxn;int t=i;int cnt=0;int num=0;while(t){num++;if(t&1){cnt++;maxx=max(maxx,nd[num].x);maxy=max(maxy,nd[num].y);minx=min(minx,nd[num].x);miny=min(miny,nd[num].y);//此处注意不要用cnt做下标//cnt是检测到一个炸弹就+1//}t>>=1;}if(cnt){ans-=(cnt&1?1:-1)*minx*miny*(n-maxx+1)*(m-maxy+1);//容斥定理,有奇数炸弹的情况加,偶数炸弹的情况减}}cout<<ans<<endl;return;
}
int main(){int t;cin>>t;while(t--){solve();}return 0;
}
G-Snake Rana相关推荐
- GYM 101350 G. Snake Rana ( 容斥
G. Snake Rana 题目描述 Old Macdonald wants to build a new hen house for his hens. He buys a new rectangu ...
- 2017 ACM Arabella Collegiate Programming Contest G. Snake Rana GYM101350G
先算一下总的子矩阵个数 总共最多只有20个点 状压一下然后枚举 容斥一下 把求出来的答案减去包含1个点的子矩阵再加上包含2个点的减去3个点的-- #include <iostream> # ...
- G. Snake Rana 容斥原理
题意: 统计网格矩形的子矩形数目,其中要求每个格子不能包含一些特殊格子(特殊格子小于20) 思路:统计格子是个老问题,sum=n*(n+1)/2*m*(m+1)/2 这里要求一些格子不合法,显然用总答 ...
- Snake Rana (容斥定理)
Snake Rana Gym - 101350G https://cn.vjudge.net/contest/303719#problem/B 题目大意:给定一个矩阵,和矩阵中的一些点,求矩阵 ...
- Snake Rana Gym - 101350G
题目: Old Macdonald wants to build a new hen house for his hens. He buys a new rectangular area of siz ...
- 容斥原理·Gym101350G·Snake Rana
题目大意:n*m的矩阵问不包含炸弹的子矩阵总数: 解题思路: 奇加偶减容斥. AC代码: #include <iostream> #include <cmath> #inclu ...
- 2017 ACM Arabella Collegiate Programming Contest div2的题,部分题目写个题解
F. Monkeying Around 维护点在多少个线段上 http://codeforces.com/gym/101350/problem/F 题意:有m个笑话,每个笑话的区间是[L, R], ...
- SDUT 2021 Spring Individual Contest(for 20) - 1
文章目录 A - Sherlock Bones B - Unusual Team C - Cheap Kangaroo D - Magical Bamboos E - Competitive Seag ...
- 【容斥】2017 ACM Arabella Collegiate Programming Contest
比赛连接 G. Snake Rana Old Macdonald wants to build a new hen house for his hens. He buys a new rectangu ...
- 2017 ACM Arabella Collegiate Programming Contest(solved 9/13, complex 12/13)
A.Sherlock Bones 题意: 给出长度为n的01串,问f(i,j)=f(j,k),(i<j<k)的i,j,k取值种数.其中f(i,j)表示[i,j]内1的个数, 且s[j]必须 ...
最新文章
- 简单的 H5 视频推流解决方案
- 背景和文字分离的matlab实现
- I see IC的破冰之旅
- Struts1和Struts2的区别和对比(完整版)(转)
- 宝塔面板 mongodb 允许外网访问
- 有时间同情渣男傻女,不如想想人都是怎么被臆想出来的爱情给坑了
- java面向对象内存分析
- 货物贸易外汇监测系统 企业版_能源在线监测系统对用能企业的优势
- 【转】网络安全-------防止被抓包
- cesium 基于在vue框架写功能
- 红米6 Pro开启ROOT权限的教程
- # Idea,2.5,软件安装,提示If you already have a 64-bit JDK installed ,defined a JAVA_HOME variable in Compu
- linux看caj文件格式,CAJ 文件扩展名: 它是什么以及如何打开它?
- 攻防比赛中蓝队常用的攻击方法
- App版本更新接口的设计
- 【054】七麦数据-应用商店中详细的应用大数据
- ●UVA 11021 tunnello
- 【致青春】奋斗迷茫的我们
- GUEST帐号“反客为主”
- MATLAB 暖通,MATLAB在暖通空调课程教学中的应用
热门文章
- 每天学习一个知识点,每天进步一点
- 游戏笔记本计算机购买,2021年4月|游戏笔记本电脑选购,个人主观推荐
- android 大学生生活助手,基于Android的大学生生活小助手设计与开发.doc
- [置顶] 当前上下文不存在 ScriptManager 的原因分析以及解决方案 (System.Web.Extensions)...
- 基于graph的图像分割算法:Efficient Graph-Based Image Segmentation
- ElasticSearch教程——基于term vector深入探查数据的情况
- 同等学力申硕英语考试2021年备考策略
- linux红旗内核升级,在红旗Linux 11中用Ubuntu的kernel-ppa包升级内核
- 谷歌性能测评工具lighthouse使用
- MyBatis 框架基础