ACM_开挂的小G

Posted acgoto

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM_开挂的小G相关的知识,希望对你有一定的参考价值。

开挂的小G

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

小G寒假在家没网络,闲着没事干又看不下书,就玩起了单机游戏ACM_Game,不过,学计算机的怎么能老玩别人的游戏呢?自己做个?哦不,自己做的要是玩得不开心就会随便改代码啦,这样就没意思了。于是,小G费了点心思就给自己做了个ACM_Game辅助,让自己角色的分数快速增长。有多快呢?程序运行后,第一秒增加1,第2秒增加4,第3秒增加9...
第n秒就增加n^2。小G知道,当n稍微大一点时,自己代码里的int就溢出了,所以他选用了64位的long long。但是,ACM_Game的开发者是个Acmer,他知道正常情况下都有可能被大神刷爆分数,于是他设定了游戏里的分数超过1000000007的,都会取个模1000000007(为什么是这个数呢?因为他喜欢这个大质数)。
现在小G想知道第n秒后他有多少分数,假设一开始分数是0,当然他记性不至于差到需要重复查询同一秒的结果。

Input:

多组数据,大约100000组吧,每组一个n(1<=n<=10000000)

Output:

输出小G当前的分数

Sample Input:

100
1
3

Sample Output:

338350
1
14
解题思路:题目比较简单,数据类型全部为长整型long long,避免数据溢出,水过!
AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 const LL maxn=10000005;
 5 const LL mod=1000000007;
 6 LL s[maxn]={0},n;
 7 int main(){
 8     for(LL i=1;i<maxn;++i)s[i]=(s[i-1]+i*i)%mod;
 9     while(cin>>n)cout<<s[n]<<endl;
10     return 0;
11 }

 



以上是关于ACM_开挂的小G的主要内容,如果未能解决你的问题,请参考以下文章

学会就开挂的Python,有缺点吗?

走近图灵奖大师David Patterson开挂的人生

开挂的艾瑞泽5 如何撬动粉丝经济的巨大红利

让浏览器开挂的插件,测评师教你如何选

开挂的00后!17岁「天才少女」被8所世界名校录取,最终选择MIT计算机系

自学Python啥都不懂,因为遇到了这六个网站,从此让我走上了开挂的人生