zoukankan      html  css  js  c++  java
  • SP11560 PUCMM210

    我的blog

    题目链接:SP11560 PUCMM210 - A Summatory

    [description ]

    输入T和T个n

    求出

    [sum_{i=1}^{n}sum_{j=1}^{i}j^3 ]

    [solution ]

    结论:

    对于任意一个

    [f(n)=sum_{i=1}^{n}i^3 (nin N^* ) ]

    满足

    [f(n)=frac{n^2(n+1)^2}{4} ]

    证明:

    (n=1)时,

    [sum_{i=1}^ni^3=1^3=frac {1^2 imes2^2}{4} ]

    显然成立

    设当(k=n)时成立
    (sum_{i=1}^ki^3=frac{k^2(k+1)^2}{4})成立
    此时

    [1^3+2^3+...+k^3=frac{k^2(k+1)^2}{4} ]

    [1^3+2^3+...+k^3+(k+1)^3=frac{k^2(k+1)^2}{4}+(k+1)^3 ]

    [1^3+2^3+...+k^3+(k+1)^3=frac{k^2(k+1)^2+4(k+1)^3}{4} ]

    [1^3+2^3+...+k^3+(k+1)^3=frac{(k^2+4k+4)(k+1)^2}{4} ]

    [1^3+2^3+...+k^3+(k+1)^3=frac{ (k+2)^2 (k+1)^2}{4} ]

    所以此时(k+1=n)成立

    所以

    [f(n)=sum_{i=1}^{n}i^3=frac{n^2(n+1)^2}{4} (nin N^* ) ]

    所以题目所求为

    [sum_{i=1}^nf(i)=sum_{i=1}^nfrac{i^2(i^+1)^2}{4} ]

    前缀和预处理即可

    注意除(4)是建议乘(4)在模(1000000003)意义下的逆元(250000001)

    [code ]

    #include <cstdio>
    #define re register
    using namespace std;
    template<typename T>
    inline void read(T&x)
    {
    	x=0;
    	char s=(char)getchar();
    	bool flag=false;
    	while(!(s>='0'&&s<='9'))
    	{
    		if(s=='-')
    			flag=true;
    		s=(char)getchar();
    	}
    	while(s>='0'&&s<='9')
    	{
    		x=(x<<1)+(x<<3)+s-'0';
    		s=(char)getchar();
    	}
    	if(flag)
    		x=(~x)+1;
    }
    int T,n;
    const int N=1e6,mod=1000000003;
    int f[N+5];
    int main()
    {
    	for(re int i=1; i<=N; ++i)
    		f[i]=(int)((f[i-1]+1ll*i*i%mod*(i+1)%mod*(i+1)%mod*250000001%mod)%mod);//250000001是4在模1000000003意义下的逆元 
    	read(T);
    	while(T--)
    	{
    		read(n);
    		printf("%d
    ",f[n]);
    	}
    	return 0;
    }
    
  • 相关阅读:
    微信网页授权
    ci控制器与方法为何不能同名
    sql优化方案
    收藏了一些Notepad++快捷键
    获取IP地址
    php curl获取文件大小
    php图片压缩两个类
    PHP生成PDF完美支持中文,解决TCPDF乱码
    tcpdf函数
    Hibernate 配置
  • 原文地址:https://www.cnblogs.com/wangjunrui/p/12241910.html
Copyright © 2011-2022 走看看