ZOJ 3872:Beauty of Array【数列】
2016-05-01 20:13
363 查看
Beauty of Array
Time Limit: 2 Seconds Memory Limit: 65536 KB
Edward has an array A with N integers. He defines the beauty of an array as the summation of all distinct integers in the array. Now Edward wants to know the summation
of the beauty of all contiguous subarray of the array A.
The first line contains an integer N (1 <= N <= 100000), which indicates the size of the array. The next line contains N positive integers separated by
spaces. Every integer is no larger than 1000000.
Time Limit: 2 Seconds Memory Limit: 65536 KB
Edward has an array A with N integers. He defines the beauty of an array as the summation of all distinct integers in the array. Now Edward wants to know the summation
of the beauty of all contiguous subarray of the array A.
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:The first line contains an integer N (1 <= N <= 100000), which indicates the size of the array. The next line contains N positive integers separated by
spaces. Every integer is no larger than 1000000.
Output
For each case, print the answer in one line.Sample Input
3 5 1 2 3 4 5 3 2 3 3 4 2 3 3 2
Sample Output
105 21 38
题意:给你一个数列,让你求它的所有连续子序列中的不同值的和;
AC-code:
#include<cstdio> #include<cstring> #define LL unsigned long long using namespace std; int vis[1000005],last[1000005]; int main() { int T,n,i; LL sum,a; scanf("%d",&T); while(T--) { memset(vis,0,sizeof(vis)); memset(last,0,sizeof(last)); scanf("%d",&n); sum=0; for(i=0;i<n;i++) { scanf("%llu",&a); if(!vis[a]) { sum=sum+(1+i)*(n-i)*a; vis[a]=1; last[a]=i; } else { sum=sum+(i-last[a])*(n-i)*a; last[a]=i; //vist[a]=1; } } printf("%llu\n",sum); } return 0; }
相关文章推荐
- arm常用汇编指令和伪指令
- 伸缩自如的时光轴实现——改进版
- Integer Break
- pair的用法
- 欢迎使用CSDN-markdown编辑器
- 学会这10招让你成为杰出的Java程序员
- 【leetcode】154. Find Minimum in Rotated Sorted Array II
- 求幂集的算法
- 笔试题43. LeetCode OJ (30)
- JavaScript的属性访问
- HDU 3678 2-SAT
- 幽灵按钮的实现
- Struts之OGNL
- Learning How to Learn
- TCP_Wrappers应用级防火墙介绍与配置
- 安装和使用IIS的URL重写工具
- 常用vim命令合集
- 在不看任何数学公式的情况下理解傅里叶分析
- 利用PHP绘图函数实现简单验证码功能
- ZkClient