洛谷 P2692 覆盖
题目背景
WSR的学校有B个男生和G个女生都来到一个巨大的操场上扫地。
题目描述
操场可以看成是N 行M 列的方格矩阵,如下图(1)是一个4 行5 列的方格矩阵。每个男生负责打扫一些连续的行,每个女生负责打扫一些连续的列。比如有两个男生,第一个男生负责第1、2 两行、第二个男生负责第4 行,如图(2)的蓝色。打扫的区域可能重复,比如,又有两个女生,第一个女生负责打扫第3、4 两列,第二个女生负责打扫第4、5 两列,如图(3)的红色。从图(3)可以容易看出,有颜色覆盖的方格数为18,即这4 名学生总共打扫了18 个方格。
老师要WSR在学校给出打扫安排的数据后快速计算出这些学生总共打扫了多少方格?
输入输出格式
输入格式:
第一行4 个正整数:N,M,B,G,N 表示方阵行数,M 表示方阵列数,B 表示男生数,G 表示女生数。
接下来B 行,每行两个整数x y。表示相应某个男生负责打扫从第x 行到第y行(共y-x+1 行),保证1≤x≤y≤N。
再接下来G 行,每行两个整数x y。表示相应某个女生负责打扫从第x 列到第y 列(共y-x+1 列),保证1≤x≤y≤M。
输出格式:
一个整数,表示所打扫的面积。(即格子的总数)
输入输出样例
说明
不会可以自己画图。
数据范围:
8 个的数据:N,M,B,G 的范围都是[1…100]
2 个的数据:N,M,B,G 的范围都是[1…5,000]
思路:模拟
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,b,g;
int x,y,ans;
int map[][];
int vis1[],vis2[];
int main(){
scanf("%d%d%d%d",&n,&m,&b,&g);
for(int i=;i<=b;i++){
scanf("%d%d",&x,&y);
for(int j=x;j<=y;j++) vis1[j]=;
}
for(int i=;i<=g;i++){
scanf("%d%d",&x,&y);
for(int j=x;j<=y;j++) vis2[j]=;
}
for(int i=;i<=n;i++){
if(!vis1[i])
for(int j=;j<=m;j++)
if(!vis2[j]) ans++;
}
cout<<n*m-ans;
}
洛谷 P2692 覆盖的更多相关文章
- 洛谷P2692 覆盖 题解
题目传送门 这道题一开始想使用二维的bool型数组来存,最后统计.但看到数据范围... 所以就改用两个bool型数组(一维),分别储存横.列,最后将横.列面积求出来,再减去重复算的面积(横的个数*列的 ...
- 题解 洛谷P1990 覆盖墙壁
DP康复训练题 原题:洛谷P1990 核心:递推/DP 题源应该是铺地砖,所以采用一摸一样的思路,只是有两种不同的方块 我们先用最最简单的方式尝试一下枚举当最后一行被填满的情况: 1.如果我们只用第一 ...
- 洛谷 P1990 覆盖墙壁
P1990 覆盖墙壁 题目描述 你有一个长为N宽为2的墙壁,给你两种砖头:一个长2宽1,另一个是L型覆盖3个单元的砖头.如下图: 0 0 0 00 砖头可以旋转,两种砖头可以无限制提供.你的任务是计算 ...
- 网络流24题 第三题 - CodeVS1904 洛谷2764 最小路径覆盖问题 有向无环图最小路径覆盖 最大流 二分图匹配 匈牙利算法
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - CodeVS1904 题目传送门 - 洛谷2764 题意概括 给出一个有向无环图,现在请你求一些路径,这些路径 ...
- 【洛谷2469/BZOJ1927】[SDOI2010]星际竞速(费用流/最小路径覆盖)
题目: 洛谷2469 分析: 把题目翻译成人话:给一个带边权的DAG,求一个路径覆盖方案使路径边权总和最小.从点\(i\)开始的路径需要额外加上\(A_i\)的权值. 回xian忆chang一xue下 ...
- 洛谷 P2764 LibreOJ 6002 最小路径覆盖问题
题目描述 «问题描述: 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开 ...
- 【洛谷P4589】[TJOI2018]智力竞赛(二分+最小链覆盖)
洛谷 题意: 给出一个\(DAG\),现在要选出\(n+1\)条可相交的链来覆盖,最终使得未被覆盖的点集中,权值最小的点的权值最大. 思路: 显然最终的答案具有单调性,故直接二分答案来判断: 直接将小 ...
- 洛谷 P3187 BZOJ 1185 [HNOI2007]最小矩形覆盖 (旋转卡壳)
题目链接: 洛谷 P3187 [HNOI2007]最小矩形覆盖 BZOJ 1185: [HNOI2007]最小矩形覆盖 Description 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形, ...
- 国家集训队 部落战争 网络流最小路径覆盖 洛谷P2172
洛谷AC传送门! step1: 题目大意 有一张M x N的网格图,有一些点为“ * ”可以走,有一些点为“ x ”不能走,每走一步你都可以移动R * C 个格子(参考象棋中马的走法),且不能回头,已 ...
随机推荐
- 利用opencv源代码和vs编程序训练分类器haartraining.cpp
如需转载请注明本博网址:http://blog.csdn.net/ding977921830/article/details/47733363. 一 训练框架 训练人脸检測分类器须要三个步骤: (1 ...
- javascript进阶课程--第一章--函数
javascript进阶课程--第一章--函数 学习要点 了解内存管理 掌握全局函数的使用 知识点 基本类型和引用类型 基本类型值有:undefined,NUll,Boolean,Number和Str ...
- SQL调用Webservices
IF NOT object_id('proc_CallWebServices') IS NULL DROP PROCEDURE proc_CallWebServices GO CREATE PROCE ...
- cf B. Black Square
B. Black Square time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- 使用iframe在手机中嵌套页面
使用iframe嵌套网页 <iframe id="show-iframes" frameborder="0" name="showHere&qu ...
- 反斜杠处理函数addslashes()和stripslashes()
addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要.这些预定义字符是:单引号 (') ,双引号 (") ,反斜杠 (\) ,NULL. ...
- 解析position定位
关于position定位(所有主流浏览器都支持 position 属性),大家会联想到relative和absolute,下面我就讲一下relative和absolute分别是相对于谁进行定位的? 在 ...
- 保留原先小程序名称 更改微信小程序主体
首先给小程序开发者普及一些官方消息: 1.目前官方是不允许修改已经认证的小程序主体信息!(公众号可以修改) 2.小程序与公众号的名称是全平台唯一,即如果小程序叫‘ABC’其他小程序和公众号就不能存在‘ ...
- 机器学习Python实现AdaBoost
adaboost是boosting方法多个版本号中最流行的一个版本号,它是通过构建多个弱分类器.通过各个分类器的结果加权之后得到分类结果的.这里构建多个分类器的过程也是有讲究的,通过关注之前构建的分类 ...
- 分享一个css3学习使用的选择器手册
http://www.haorooms.com/tools/css_selecter/