Problem I. Alien Rectangles

题目连接:

http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7022&all_runs=1&action=140

Description

The spacecraft hovering above the surface of the faraway planet takes pictures of the landscape underneath

from time to time. Each photo is a circle centred at the point the spacecraft is orbiting over.

For detailed study of the planet’s surface researchers have chosen a Cartesian coordinate system on the

photos with the origin placed to the circle’s centre. The radius of the circle is R. The following stage of

the research requires selecting a region in the form of a nondegenerate rectangle with sides parallel to the

coordinate axes and with vertices at the points with integer coordinates. The points should lie inside or

on the boundary of the circle.

Please help the researchers and compute the total number of ways to choose a rectangular region. As the

number of ways may be big, output it modulo 109 + 2015.

Input

Input contains the only integer R (1 ≤ R ≤ 1 000 000).

Output

Output the only integer: the number of ways to choose a rectangle in the given circle modulo 109 + 2015.

Sample Input

2

Sample Output

9

Hint

题意

有一个中心在原点的圆,然后半径为R,问你里面以及圆上的整点,能够成多少个矩形。

题解:

算出每个坐标的点的个数,然后开始推公式就好了。

具体看代码。

至于看到只有一个数,就去推O1公式的,基本就走远了……

代码

#include <bits/stdc++.h>

using namespace std;

const int N=1000100;
const int pr=1e9 + 2015;
long long ans=0; int main()
{
int R;
scanf("%d",&R);
int nx=1;
for(int i=1;i<=R;i++)
{
int x=i*2+1;
int y=(int)sqrt(1LL*R*R-1LL*i*i)*2+1;
long long t1,t2;
t1=1LL*x*(x-1)/2LL,t2=1LL*y*(y-1)/2LL;
if(t1>=pr) t1%=pr;
if(t2>=pr) t2%=pr;
ans+=(t1*t2%pr);
if(ans>=pr) ans%=pr;
t1=1LL*nx*(nx-1)/2LL,t2=1LL*y*(y-1)/2LL;
if(t1>=pr) t1%=pr;
if(t2>=pr) t2%=pr;
ans-=(t1*t2%pr);
if(ans<0) ans+=pr;
nx=x;
}
cout<<ans<<endl;
}

Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem I. Alien Rectangles 数学的更多相关文章

  1. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem K. UTF-8 Decoder 模拟题

    Problem K. UTF-8 Decoder 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c702 ...

  2. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem H. Parallel Worlds 计算几何

    Problem H. Parallel Worlds 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7 ...

  3. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem F. Turning Grille 暴力

    Problem F. Turning Grille 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c70 ...

  4. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem C. Cargo Transportation 暴力

    Problem C. Cargo Transportation 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed ...

  5. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem G. k-palindrome dp

    Problem G. k-palindrome 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7022 ...

  6. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem A. A + B

    Problem A. A + B 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7022&al ...

  7. 2010 NEERC Western subregional

    2010 NEERC Western subregional Problem A. Area and Circumference 题目描述:给定平面上的\(n\)个矩形,求出面积与周长比的最大值. s ...

  8. 2009-2010 ACM-ICPC, NEERC, Western Subregional Contest

    2009-2010 ACM-ICPC, NEERC, Western Subregional Contest 排名 A B C D E F G H I J K L X 1 0 1 1 1 0 1 X ...

  9. 【GYM101409】2010-2011 ACM-ICPC, NEERC, Western Subregional Contest

    A-Area and Circumference 题目大意:在平面上给出$N$个三角形,问周长和面积比的最大值. #include <iostream> #include <algo ...

随机推荐

  1. bzoj千题计划211:bzoj1996: [Hnoi2010]chorus 合唱队

    http://www.lydsy.com/JudgeOnline/problem.php?id=1996 f[i][j][0/1] 表示已经排出队形中的[i,j],最后一个插入的人在[i,j]的i或j ...

  2. header()跳转

    if ($toNews == 1) { header('Location:/ucenter/pageMailBox/2'); exit; } PHP跳转页面,用 header() 函数 定义和用法 h ...

  3. [转]OpenMP 入门指南

    简介 这门课作为 ECE 中少有的跟计算机科学相关的课,自然是必上不可.不过无论是 OpenMP 还是 CUDA,对于平时极少接触并行编程的我来说,都是十分吃力的,第一次作业的 OpenMP 编程已经 ...

  4. kali的中文输入法-安装后无中文选项的解决办法

    我在我实体电脑上安装了kali 本想安装个中文输入法但是有时候输入发中根本没有选择输入法的这一项.所以导致很别扭,之前在虚机上安装过没有问题但是挪到实体机上就是没有用的也是fcitx,这一度让我这个小 ...

  5. Phantomjs 抓取、分析某个页面加载时浏览器发起的所有的子请求

    var page = require('webpage').create(), system = require('system'), address; if (system.args.length ...

  6. vs中如何统计整个项目的代码行数

    在一个大工程中有很多的源文件和头文件,如何快速统计总行数? ------解决方案--------------------b*[^:b#/]+.*$^b*[^:b#/]+.*$ ctrl + shift ...

  7. 几种list排序方法

    package com.lgx.jdk8.part02; import java.util.*; import java.util.stream.Collectors; /** * Comparato ...

  8. logback.xml 模板

    ssm模板 <?xml version="1.0" encoding="UTF-8"?>  <!--configuration 根节点,包含下 ...

  9. (转)Python函数式编程——map()、reduce()

    转自:http://www.jianshu.com/p/7fe3408e6048 1.map(func,seq1[,seq2...]) Python 函数式编程中的map()函数是将func作用于se ...

  10. **15.app后端怎么设计用户登录方案(API权限安全)

    在很多app中,都需要用户的登录操作.登录,就需要用到用户名和密码.为了安全起见,暴露明文密码的次数越少越好.怎么能最大程度避免泄露用户的密码呢?在登录后,app后端怎么去验证和维持用户的登录状态呢? ...