[dp] zoj 3872 Beauty of Array
2017-04-09 10:36
375 查看
题意:
给n个数,求连续子序列的和。子序列内的相同元素只计算一次。
思路:
举例 2 3 3.
i=1
2
i=2
2 3
3
i=3
2 3 3
3 3
3
i=1的时候和是2,i=2的时候和是2+3+3=8,i=3的时候和是2+3+3+3=11
其实我们只要考虑当前的a[i]被用了多少次就好了。
那么我们用used[j]记录j前一次出现的位置。
那么当前的a[i]用的次数便是i-used[a[i]]次,所增加的和就是(i-used[a[i]])*a[i]。
代码:
[cpp] view plain copy print?
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
#include”cstdlib”
#include”cstdio”
#include”cstring”
#include”cmath”
#include”queue”
#include”algorithm”
#include”iostream”
#include”map”
#include”stack”
#include”vector”
#define ll long long
using namespace std;
int used[123456];
int main()
{
int t;
cin>>t;
while(t–)
{
int n;
ll ans=0,sum=0;
scanf(”%d”,&n);
memset(used,0,sizeof(used));
for(int i=1;i<=n;i++)
{
int x;
scanf(”%d”,&x);
sum+=(i-used[x])*x;
ans+=sum;
used[x]=i;
}
printf(”%lld\n”,ans);
}
return 0;
}
给n个数,求连续子序列的和。子序列内的相同元素只计算一次。
思路:
举例 2 3 3.
i=1
2
i=2
2 3
3
i=3
2 3 3
3 3
3
i=1的时候和是2,i=2的时候和是2+3+3=8,i=3的时候和是2+3+3+3=11
其实我们只要考虑当前的a[i]被用了多少次就好了。
那么我们用used[j]记录j前一次出现的位置。
那么当前的a[i]用的次数便是i-used[a[i]]次,所增加的和就是(i-used[a[i]])*a[i]。
代码:
[cpp] view plain copy print?
![](https://code.csdn.net/assets/CODE_ico.png)
#include”cstdlib”
#include”cstdio”
#include”cstring”
#include”cmath”
#include”queue”
#include”algorithm”
#include”iostream”
#include”map”
#include”stack”
#include”vector”
#define ll long long
using namespace std;
int used[123456];
int main()
{
int t;
cin>>t;
while(t–)
{
int n;
ll ans=0,sum=0;
scanf(”%d”,&n);
memset(used,0,sizeof(used));
for(int i=1;i<=n;i++)
{
int x;
scanf(”%d”,&x);
sum+=(i-used[x])*x;
ans+=sum;
used[x]=i;
}
printf(”%lld\n”,ans);
}
return 0;
}
![](http://static.blog.csdn.net/images/save_snippets.png)
相关文章推荐
- ZOJ3872 Beauty of Array---规律 | DP| 数学能力
- ZOJ14省赛3872——DP——Beauty of Array
- ZOJ 3872 Beauty of Array(DP)
- ZOJ 3872-Beauty of Array(递推||DP)
- ZOJ 3872 Beauty of Array【dp】
- DP ZOJ 3872 Beauty of Array
- ZOJ 3872 Beauty of Array DP 15年浙江省赛D题
- ZOJ 3872 Beauty of Array (思维 dp思想)
- ZOJ - 3872 —— Beauty of Array —— dp
- [dp] zoj 3872 Beauty of Array
- ZOJ 3872 Beauty of Array( DP思想 )
- ZOJ 3872 Beauty of Array 动态规划子序列
- ZOJ_3872_Beauty of Array_计数原理
- ZOJ-3872-Beauty of Array【数学】【12th浙江省赛】
- D - Beauty of Array ZOJ - 3872
- ZOJ 3872 Beauty of Array (The 12th Zhejiang Provincial Collegiate Programming Contest )
- ZOJ 3872 Beauty of Array&&ZOJ 3870 Team Formation
- ♥ZOJ 3872-Beauty of Array【规律】
- ZOJ 3872 — Beauty of Array
- ZOJ 3872 Beauty of Array(数学啊)