码迷,mamicode.com
首页 > 其他好文 > 详细

ZOJ 3872 Beauty of Array

时间:2015-04-30 15:51:42      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

技术分享

 

 1 /**
 2 Author: Oliver
 3 ProblemId: ZOJ 3872 Beauty of Array
 4 */
 5 /*
 6 需求:
 7 求beauty sum,所谓的beauty要求如下: 
 8 1·给你一个集合,然后把所有子集合的美丽和求出来;
 9 2·上例子,2.3.3.->2.  3.  3.  2.3.  3.  2.3.
10 思路:
11 1·既然要连续的,暴力也会爆,那么自然而然的优化,朝着递推想一下;
12 2·哥们把之前的算好了,那我们是不是可以用算好的值来求现在的的需要呢;
13 3·想好了,但是过程我不造该怎么说;
14 步骤: 。。。
15 */
16 #include <cstdio>
17 #include <cstring>
18 #include <algorithm>
19 using namespace std;
20 
21 const int MAXM = 100000+10;
22 const int MAXN = 1000000+10;
23 int F[MAXN],a[MAXM];
24 int main()
25 {
26     int n,T;
27     scanf("%d",&T);
28     while(T--)
29     {
30         scanf("%d",&n);
31         memset(F,0,sizeof F);
32         long long ans=0,sum=0;
33         for(int i=1;i<=n;i++){
34         scanf("%d",&a[i]);
35         if(F[a[i]])sum-=F[a[i]]*a[i];
36         ans+=sum+=i*a[i];
37         
38         F[a[i]]=i;
39         }
40         printf("%lld\n",ans);
41     }
42 } 

 

ZOJ 3872 Beauty of Array

标签:

原文地址:http://www.cnblogs.com/newadi/p/4468926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!