题目描述

N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列。求至少被一个车攻击的格子数量。

车可以攻击所有同一行或者同一列的地方。

输入输出格式

输入格式:

第1 行,2 个整数N,KN,K。

接下来K 行,每行2 个整数R_i,C_iRi​,Ci​。

输出格式:

1 个整数,表示被攻击的格子数量。

输入输出样例

输入样例#1: 复制

3 2
1 2
2 2
输出样例#1: 复制

7

说明

• 对于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。

思路:见小学课本。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 1001000
using namespace std;
long long n,k,ans;
long long r[MAXN],c[MAXN];
int main(){
scanf("%lld%lld",&n,&k);
for(int i=;i<=k;i++)
scanf("%lld%lld",&r[i],&c[i]);
sort(r+,r++k);
sort(c+,c++k);
long long n1=unique(r+,r++k)-r-;
long long n2=unique(c+,c++k)-c-;
ans=n*n-(n-n1)*(n-n2);
printf("%lld",ans);
}

洛谷 P3913 车的攻击的更多相关文章

  1. 洛谷——P3913 车的攻击

    P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...

  2. 集训作业 洛谷P3913 车的攻击

    这个题一开始被我想复杂了,但总体差不多. 脑子清醒后我直接看他占领了几条长,几条宽,比如一个长3宽3的地图. 被占领了一条宽,就可以看成一个长3宽2的地图.这个长3宽2的地图就是出去可以被攻击的点剩下 ...

  3. 洛谷 P1350 车的放置

    洛谷 P1350 车的放置 题目描述 有下面这样的一个网格棋盘,a,b,c,d表示了对应边长度,也就是对应格子数. 当a=b=c=d=2时,对应下面这样一个棋盘 要在这个棋盘上放K个相互不攻击的车,也 ...

  4. 【题解】洛谷P1350 车的放置(矩阵公式推导)

    洛谷P1350:https://www.luogu.org/problemnew/show/P1350 思路 把矩阵分为上下两块N与M 放在N中的有i辆车 则放在M中有k-i辆车 N的长为a   宽为 ...

  5. luogu P3913 车的攻击 |数学

    题目描述 N×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_i行,第C_i列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同一列的地方. 输入格式 第1 行,2 个整数N,K. 接 ...

  6. P3913 车的攻击

    大致题意: 求出被车攻击到的格子 基本思路: 如果直接暴力出奇迹的话是存不下的, 所以就以另外的思路来想. 容斥原理! 我们可以先把那些在同一行或同一列的车去重,然后把去重后的行数列数记作cntx,c ...

  7. 洛谷OJ P1196 银河英雄传说(带权并查集)

    题目描述 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦 创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山 ...

  8. 关于三目运算符与if语句的效率与洛谷P2704题解

    题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一格平原地形上最 ...

  9. 洛谷P1189 逃跑的拉尔夫(SEARCH)

    洛谷1189 SEARCH 题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的 ...

随机推荐

  1. 管理ONS(Oracle Notification Service)

    Onsctl Onsctl这个命令是用来管理ONS(Oracle Notification Service)是OracleClustser实现FAN Event Push模型的基础. Oracle N ...

  2. 编写SDR SDRAM页突发模式控制器的注意点-下篇

    本来是没打算写这些的,但是后面逐渐发现点问题,所以决定再写一个下篇来补充说明一下. 图一 细心的网友会发现上篇末尾的打印是有点问题的,因为我的数据产生器产生的是1-200,1-200,1-200,1- ...

  3. php中file_get_contents如何读取大容量文件

    php中file_get_contents如何读取大容量文件 一.总结 一句话总结:使用file_get_contents()进行分段读取,file_get_contents()函数可以分段读取 1. ...

  4. rest_framework 节流功能(访问频率)

    访问记录 = { 身份证号: [ :: ,::, ::] } #:: ,::,:: ,::, #:: #[::, ::, ::] #访问记录 = { 用户IP: [...] } import time ...

  5. [BZOJ4289] [PA2012] Tax 解题报告 (最短路+差分建图)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4289 4289: PA2012 Tax Time Limit: 10 Sec  Memo ...

  6. SQL 循环30日

    循环30日的统计 大概格式是 with Date as ( select cast(DATEADD(mm, DATEDIFF(mm,,getdate()), ) as datetime) Date u ...

  7. 不同框架实现的todomvc

    http://todomvc.com/ http://hao.jobbole.com/

  8. DAG-背包九解-01背包

    饭卡:   电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够 ...

  9. git新克隆代码的时候ssh协议

  10. Windows7 安装ubuntu双系统

    家里的老笔记本是MBR分区,不支持EFI , 一开始是用U盘安装的,还对着ubuntu官网的教程,下载了官方推荐的那个u盘引导工具,安装依然会报错, 网上查询也有很多种说法,也有说是bug的,无论如何 ...