洛谷——P3913 车的攻击
P3913 车的攻击
题目描述
N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi行,第C_iCi 列。求至少被一个车攻击的格子数量。
车可以攻击所有同一行或者同一列的地方。
输入输出格式
输入格式:
第1 行,2 个整数N,KN,K。
接下来K 行,每行2 个整数R_i,C_iRi,Ci。
输出格式:
1 个整数,表示被攻击的格子数量。
输入输出样例
说明
• 对于30% 的数据,1 \le N \le 10^3; 1 \le K \le 10^31≤N≤103;1≤K≤103;
• 对于60% 的数据,1 \le N \le 10^6; 1 \le K \le 10^61≤N≤106;1≤K≤106;
• 对于100% 的数据,1 \le N \le 10^9; 1 \le K \le 10^6; 1 \le R_i , C_i \le N1≤N≤109;1≤K≤106;1≤Ri,Ci≤N。
我们看下面的一个例题
因为有些格子会重复计算,所以我们需要去掉重复的小道。
具体如图:
(图有点丑……)图中第二列重复了,所以我们只算一条。行中算两行,所以剩下的面积(蓝色区域)面积就是(3-2)*(3-1)=2(3−2)∗(3−1)=2,
所以被车攻击的面积就是3*3-2=73∗3−2=7。
所以我们计算的公式就是n*n-(n-r)*(n-c)n∗n−(n−r)∗(n−c)(可以展开消元,但没必要)
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1001000
using namespace std;
int n,k,sx,sy,x[N],y[N];
long long ans;
int read()
{
    ,f=; char ch=getchar();
    ;ch=getchar();}
    +ch-',ch=getchar();
    return x*f;
}
int main()
{
    n=read(),k=read();
    ;i<=k;i++)
     x[i]=read(),y[i]=read();
    sort(x+,x++k),sort(y+,y++k);
    ;i<=k;i++)
    {
        ]) sx++;
        ]) sy++;
    }
    ans=1ll*n*n-1ll*(n-sx)*(n-sy);
    printf("%lld",ans);
    ;
}
洛谷——P3913 车的攻击的更多相关文章
- 洛谷 P3913 车的攻击
		
P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi行,第C_iCi 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...
 - 集训作业 洛谷P3913 车的攻击
		
这个题一开始被我想复杂了,但总体差不多. 脑子清醒后我直接看他占领了几条长,几条宽,比如一个长3宽3的地图. 被占领了一条宽,就可以看成一个长3宽2的地图.这个长3宽2的地图就是出去可以被攻击的点剩下 ...
 - 洛谷 P1350 车的放置
		
洛谷 P1350 车的放置 题目描述 有下面这样的一个网格棋盘,a,b,c,d表示了对应边长度,也就是对应格子数. 当a=b=c=d=2时,对应下面这样一个棋盘 要在这个棋盘上放K个相互不攻击的车,也 ...
 - 【题解】洛谷P1350 车的放置(矩阵公式推导)
		
洛谷P1350:https://www.luogu.org/problemnew/show/P1350 思路 把矩阵分为上下两块N与M 放在N中的有i辆车 则放在M中有k-i辆车 N的长为a 宽为 ...
 - luogu P3913 车的攻击 |数学
		
题目描述 N×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_i行,第C_i列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同一列的地方. 输入格式 第1 行,2 个整数N,K. 接 ...
 - P3913 车的攻击
		
大致题意: 求出被车攻击到的格子 基本思路: 如果直接暴力出奇迹的话是存不下的, 所以就以另外的思路来想. 容斥原理! 我们可以先把那些在同一行或同一列的车去重,然后把去重后的行数列数记作cntx,c ...
 - 洛谷OJ P1196 银河英雄传说(带权并查集)
		
题目描述 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦 创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山 ...
 - 关于三目运算符与if语句的效率与洛谷P2704题解
		
题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一格平原地形上最 ...
 - 洛谷P1189 逃跑的拉尔夫(SEARCH)
		
洛谷1189 SEARCH 题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的 ...
 
随机推荐
- [洛谷P1892]团伙
			
题目大意:有n个人,关系为:朋友的朋友是朋友,敌人的敌人是朋友.如果是朋友就在一个团队内,是敌人就不在,现在给出一关系,问最多有多少团伙.题解:并查集,建反集,如果是朋友,就把他们的并查集合并:如果是 ...
 - JavaScript(二):对象、注释、事件!
			
对象 JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观.模块化和可重复使用的方式进行程序开发. 一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象. ...
 - Phaser的timer用法
			
1. 延迟timer,相当于setTimeout game.time.events.add(Phaser.Timer.SECOND*5,this.delayOver,this); 2. 循环timer ...
 - BZOJ3223: Tyvj 1729 文艺平衡树 无旋Treap
			
一开始光知道pushdown却忘了pushup......... #include<cstdio> #include<iostream> #include<cstring ...
 - rman异机恢复,全部恢复和增量恢复
			
1.首先准备工作:hostname 192.168.222.11 ol7.localdomain ol7建立相关目录:mkdir -p /u01/app/oracle/oradata/DB11G/mk ...
 - vue-transition-fade
			
<!Doctype> <html> <head> <meta charset="utf-8"> <meta name=&quo ...
 - Java之戳中痛点 - (1)易变业务使用脚本语言编写
			
脚本语言的3大特征: 1.灵活:脚本语言一般是动态类型,可以不声明变量类型直接使用,也可以在运行期改变类型:2.便捷:脚本语言是解释性语言,在运行期变更非常方便,而不用重启服务3.简单:脚本语言语法比 ...
 - Web.xml过滤器配置及执行顺序概念
			
第一个过滤器 @Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain ch ...
 - SpringMVC——如何获取请求参数
			
参考 http://www.cnblogs.com/bigdataZJ/p/springmvc2.html (文章讲了几个注解的使用,但不够深入.) 参考 http://www.cnblogs.com ...
 - 【BZOJ4080】【WF2014】Sensor Network [随机化]
			
Sensor Network Time Limit: 2 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 魔法炮来到了帝都 ...