CF575I.Robots protection
省选/NOI-
通过率:0%
时间限制:1.50s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Company "Robots industries" produces robots for territory protection. Robots protect triangle territories — right isosceles triangles with catheti parallel to North-South and East-West directions.
Owner of some land buys and sets robots on his territory to protect it. From time to time, businessmen want to build offices on that land and want to know how many robots will guard it. You are to handle these queries.
公司“机器人工业”生产用于领土防护的机器人。这些机器人防护的区域为直角等腰三角形——其两条直角边分别与南北方向和东西方向平行。
某块土地的所有者购买并部署机器人来保护自己的领地。有时,商人希望在该土地上建造办公楼,并希望知道将有多少机器人能够守护该办公楼。你需要处理此类查询。
输入格式
The first line contains integer N — width and height of the land, and integer Q — number of queries to handle.
Next Q lines contain queries you need to process.
Two types of queries:
- 1 dir x y len — add a robot to protect a triangle. Depending on the value of dir, the values of x, y and len represent a different triangle:
- dir = 1: Triangle is defined by the points (x, y), (x + len, y), (x, y + len)
- dir = 2: Triangle is defined by the points (x, y), (x + len, y), (x, y - len)
- dir = 3: Triangle is defined by the points (x, y), (x - len, y), (x, y + len)
- dir = 4: Triangle is defined by the points (x, y), (x - len, y), (x, y - len)
- 2 x y — output how many robots guard this point (robot guards a point if the point is inside or on the border of its triangle)
- 1 ≤ N ≤ 5000
- 1 ≤ Q ≤ 105
- 1 ≤ dir ≤ 4
- All points of triangles are within range [1, N]
- All numbers are positive integers
第一行包含整数 N —— 土地的宽度和高度,以及整数 Q —— 需要处理的查询数量。
接下来的 Q 行包含你需要处理的查询。
查询分为两类:
1 dir x y len—— 添加一个机器人以保护一个三角形。根据dir的取值,x、y和len表示不同的三角形:dir = 1:三角形由点 (x,y)、(x+len,y)、(x,y+len) 构成;dir = 2:三角形由点 (x,y)、(x+len,y)、(x,y−len) 构成;dir = 3:三角形由点 (x,y)、(x−len,y)、(x,y+len) 构成;dir = 4:三角形由点 (x,y)、(x−len,y)、(x,y−len) 构成;
2 x y—— 输出守护该点的机器人数量(若某点位于机器人的三角形内部或边界上,则该机器人守护该点)。
- 1 ≤ N ≤ 5000
- 1 ≤ Q ≤ 105
- 1 ≤ dir ≤ 4
- 所有三角形的顶点均在范围 [1,N] 内;
- 所有数值均为正整数。
输出格式
For each second type query output how many robots guard this point. Each answer should be in a separate line.
对于每个第二类查询,输出有多少个机器人守卫该点。每个答案应单独成行。
输入输出样例
输入#1
17 10 1 1 3 2 4 1 3 10 3 7 1 2 6 8 2 1 3 9 4 2 2 4 4 1 4 15 10 6 2 7 7 2 9 4 2 12 2 2 13 8
输出#1
2 2 2 0 1
输入解题思路,AI测评打分。不知道怎么写?