题解 SP11560 【PUCMM210 - A Summatory】

本题还是很简单,但要注意开 long long,就因为没开卡了几次!

思路:

用前缀和每次推算出i=1ni3\Large \sum_{i = 1}^n i ^ 3,然后开另外一个前缀和数组统计i=1nf(i)\Large \sum_{i = 1}^n f(i)

代码:

#include <iostream>
using namespace std;

unsigned long long a[1000005], ans[1000005];

const unsigned long long Mod = 1000000003;

int main()
{
    for(register long long i = 1; i <= 1000000; i++) {a[i] = (a[i - 1] % Mod + (i * i % Mod * i % Mod)) % Mod; ans[i] = (ans[i - 1] + a[i]) % Mod;} // 循环一定要开long long
    int T;
    cin >> T;
    while(T--)
    {
        int n;
        cin >> n;
        cout << ans[n] % Mod << endl;
    }
    return 0;
}

还有就是限时 437ms,我 840ms 为什么过了!

posted @   HappyBobb  阅读(1)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示