POJ 3086 Triangular Sums (ZOJ 2773)
http://poj.org/problem?id=3086
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1773
让你计算两个递推式:
T(n)=sum[1……n]
W(n) = SUM[k = 1…n; k * T(k + 1)]
思路:
直接计算即可。
#include<cstdio> const int MAXN=302; int T[MAXN]={0} , w[MAXN]={0}; int main() { for(int i=1;i<MAXN;i++) { T[i]= (i+1)*i; T[i]>>=1; } for(int k=1;k<MAXN;k++) { w[k]=w[k-1]+ k * T[k+1]; } int N; scanf("%d",&N); for(int ri=1;ri<=N;ri++) { int n; scanf("%d",&n); printf("%d %d %d\n",ri,n,w[n]); } return 0; }
新 blog : www.hrwhisper.me