• 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 }
  • 相关阅读:
    超级楼梯
    hdu1040
    hdu2033(惭愧)
    hdu2032杨辉三角
    hdu1013Digital Roots
    hdu2031
    Linux信号(signal) 机制分析
    android init重启service(进程)
    [android] init进程 .rc文件中service、action的parsing
    oom_adj
  • 原文地址:https://www.cnblogs.com/acgoto/p/9291073.html
Copyright © 2020-2023  润新知