CF2074D.Counting Points
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
粉色士兵们在平面上绘制了 n 个圆心位于 x 轴上的圆。此外,他们告知这些圆的半径之和恰好为 m ∗。
请计算至少位于一个圆内或边界上的整数点数量。形式化地说,问题定义如下:
给定一个整数序列 x1,x2,…,xn 和一个正整数序列 r1,r2,…,rn,已知 ∑i=1nri=m。
你需要统计满足以下条件的整数对 (x,y) 的数量:
- 存在一个下标 i 使得 (x−xi)2+y2≤ri2(1≤i≤n)。
∗ 这个信息真的有用吗?别问我,其实我也不知道。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 m(1≤n≤m≤2⋅105)。
每个测试用例的第二行包含 x1,x2,…,xn —— 圆的圆心坐标(−109≤xi≤109)。
每个测试用例的第三行包含 r1,r2,…,rn —— 圆的半径(1≤ri,∑i=1nri=m)。
保证所有测试用例的 m 之和不超过 2⋅105。
输出格式
对于每个测试用例,在单独一行中输出满足条件的整数点数量。
输入输出样例
输入#1
4 2 3 0 0 1 2 2 3 0 2 1 2 3 3 0 2 5 1 1 1 4 8 0 5 10 15 2 2 2 2
输出#1
13 16 14 52
说明/提示
在第一个测试用例中,半径为 r1=1 的圆完全包含在半径为 r2=2 的圆内部。因此只需统计后者内部的整数点数量。满足 x2+y2≤22 的整数点共有 13 个,因此答案为 13。
在第二个测试用例中,半径为 r1=1 的圆未完全包含在半径为 r2=2 的圆内部。存在 3 个额外整数点位于第一个圆内但不在第二个圆内,因此答案为 3+13=16。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?