题目大意:给你$R(R\leqslant10^{14})$,求:
$$
\sum\limits_{x\in\mathbb{Z}}\sum\limits_{y\in\mathbb{Z}}[x^2+y^2\leqslant R](x^2+y^2)
$$
题解:明显可以发现这是对称的,所以可以只枚举四分之一,并且$x,y\leqslant\sqrt R$。所以式子成了$4\sum\limits_{x=0}^{\sqrt R}\sum\limits_{y=1}^{\sqrt R}[x^2+y^2\leqslant R](x^2+y^2)$。这样就可以暴力枚举了,复杂度$O(R)$。

然后那个判断有点烦,去掉,变成$4\sum\limits_{x=0}^{\sqrt R}\sum\limits_{y=1}^{\sqrt{R-x^2}}(x^2+y^2)$
$$
\begin{align*}
&4\sum\limits_{x=0}^{\sqrt R}\sum\limits_{y=1}^{\sqrt{R-x^2}}(x^2+y^2)\\
=&4\sum\limits_{x=0}^{\sqrt R}(\sqrt{R-x^2}x^2+\sum\limits_{y=1}^{\sqrt{R-x^2}}y^2)\\
\end{align*}\\
令Y=\sqrt{R-x^2}\\
=4\sum\limits_{x=0}^{\sqrt R}(Yx^2+\dfrac{Y(Y+1)(2Y+1))}6)\\
$$

复杂度$O(\sqrt R)$

卡点:

C++ Code:

#include <cstdio>
#include <cmath>
const long long mod = 1e9 + 7, mod6 = mod * 6;
long long R, ans;
inline void reduce(long long &x) { x += x >> 63 & mod; }
int main() {
scanf("%lld", &R);
for (long long x = sqrt(R), y; ~x; --x) {
y = sqrt(R - x * x);
reduce(ans += x * x % mod * y % mod - mod);
reduce(ans += y * (y + 1) % mod6 * (2 * y + 1) / 6 % mod - mod);
}
printf("%lld\n", ans * 4 % mod);
return 0;
}

  

[洛谷P5174]圆点的更多相关文章

  1. 洛谷 P5174 圆点

    题面 感觉被侮辱智商了,这水题NM省选NOI-.... 直接枚举一维,另一维单调不增,然后直接算答案就可以了.... gan #include<bits/stdc++.h> #define ...

  2. 洛谷P4606 [SDOI2018]战略游戏 【圆方树 + 虚树】

    题目链接 洛谷P4606 双倍经验:弱化版 题解 两点之间必经的点就是圆方树上两点之间的圆点 所以只需建出圆方树 每次询问建出虚树,统计一下虚树边上有多少圆点即可 还要讨论一下经不经过根\(1\)的情 ...

  3. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  4. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  5. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  6. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  7. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  8. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

  9. 洛谷P1538迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

随机推荐

  1. AtCoder:C - Nuske vs Phantom Thnook

    C - Nuske vs Phantom Thnook https://agc015.contest.atcoder.jp/tasks/agc015_c 题意: n*m的网格,每个格子可能是蓝色, 可 ...

  2. rm 删除不掉文件,报错解决 以及 chattr的介绍

    rm 强制删除一个文件 居然删除不掉! 出现这个错误: rm: cannot remove ‘default/.user.ini’: Operation not permitted 原来呀: 然后呢 ...

  3. mysql表的核心元数据

    索引的 mysql> show indexes from recordsInRangeTest; +--------------------+------------+------------- ...

  4. 后续博客转移到zhylj.cc

    此博客暂不更新了 zhylj.cc

  5. TPO-11 C1 Use the gym pass

    TPO-11 C1 Use the gym pass 第 1 段 1.Listen to a conversation between a student and a university emplo ...

  6. 为什么Python在列表和元组的末尾允许使用逗号?

    Python 允许您在列表,元组和字典的末尾添加一个尾随逗号: [1, 2, 3,] ('a', 'b', 'c',) d = { "A": [1, 5], "B&quo ...

  7. 【template、import、include】微信小程序:模板(template)、引用(import、include)说明

    模板(template): 定义模板 <template name="[String]"> <!-- 模板代码 --> <view> <t ...

  8. 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第二道——最小分割分数

    题目: 给 n 个正整数 a_1,…,a_n, 将 n 个数顺序排成一列后分割成 m 段,每一段的分数被记为这段内所有数的和,该次分割的分数被记为 m 段分数的最大值.问所有分割方案中分割分数的最小值 ...

  9. 接口文档管理工具-Postman、Swagger、RAP(转载)

    接口文档管理工具-Postman.Swagger.RAP 转自:http://www.51testing.com/html/10/n-3715910.html 在项目开发测试中,接口文档是贯穿始终的. ...

  10. Java中 Auto-boxing/unboxing

    Java 中 Auto-boxing/unboxing 机制,在合适的时机自动打包,解包. 1. 自动将基础类型转换为对象: 2. 自动将对象转换为基础类型: Demo_1: import java. ...