7 条题解
-
0
Guest
- 1
信息
- ID
- 50
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 110
- 已通过
- 89
- 上传者
组合数学杨辉-高斯级数--等幂求和,显然易证故得到:
#include<bits/stdc++.h> using namespace std; int main() { long long n; cin>>n; cout<<(n*(n+1)(2n+1))/6<<endl; return 0; }
很显然用 O(1) 的平方和公式:
i=1∑ni2=6n(n+1)(2n+1)
证明如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
cout<<(n*(n+1)*(2*n+1)/6);
return 0;
}
补充
令i=1∑**n****im=F(n,m)
N=n*(n+1),M=2n+1;
则有F(n,1)=(1/2)N;
F(n,2)=(1/6)MN;
F(n,3)=(1/4)MN;
F(n,4)=(1/30)MN(3N-1);
F(n,5)=(1/12)N*N(2N-1);
F(n,6)=(1/42)MN(3N*N-3N+2);其余自行查阅《组合数学--陈景润》杨辉-高斯级数。
令西格玛m=1到n =F(n,m)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
sum=sum+i*i;
}
cout<<sum;
return 0;
}
注册一个 PYYG 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。