zoj 3872(dp)
来源:互联网 发布:什么得什么知成语 编辑:程序博客网 时间:2024/06/04 19:31
//题意:求一段序列里有多个连续的子序列 每个连续子序列中各个元素(相同的只算一个)相加之和为n // 求所有这样的n累加之和//方法:动规的思想 dp[i]表示以第i个元素为右顶点的所有区间的累加和// 利用pre数组 pre[i] 记录的是元素i上一次出现的位置// ss数组保存这段序列////状态转移方程:dp[i] = dp[i - 1] + (i - pre[ss[i]]) * ss[i];// #include <stdio.h>#include <math.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;int pre[1000005];int main(){ int t; int ss[100005]; long long int dp[100005], ans; scanf("%d", &t); while(t--) { int n; scanf("%d", &n); for(int i = 0; i < n; i++) scanf("%d", &ss[i]); ans = 0; memset(pre, -1, sizeof pre); dp[0] = ss[0]; pre[ss[0]] = 0; for(int i = 1; i < n; i++) { dp[i] = dp[i - 1] + 1ll * (i - pre[ss[i]] ) * ss[i]; pre[ss[i]] = i; ans += dp[i]; } printf("%lld\n", ans + dp[0]); } return 0;}
0 0
- zoj 3872(dp)
- zoj 3872(dp)
- [dp] zoj 3872 Beauty of Array
- ZOJ 3872 - Team Formation(DP)
- ZOJ 3872 Beauty of Array【dp】
- [dp] zoj 3872 Beauty of Array
- ZOJ 3872 Beauty of Array(DP)
- zoj 1149 双向dp
- zoj 2402 简单dp
- zoj 2744 DP做法
- zoj 2704 dp
- zoj 1738 dp
- zoj 1027 dp
- zoj 2401 dp
- zoj 3502 Contest //dp
- zoj 1558【DP】
- 【DP】ZOJ 2068
- 树形DP zoj 3527
- 第四周项目5-用递归方法求解(3)
- 关于用css3 还是img
- apache phoenix UDF example
- 输出gradle执行task名称、输入输出文件和耗时
- ubuntu下Qt for Android的安装及环境配置
- zoj 3872(dp)
- 单机25万tcp长连接后,gc cpu前后比对图
- 1011. A+B和C
- SQL学习速记笔记
- 【排序算法】C#实现排序算法
- 关于Eclipse不能在线更新ADT问题
- Android使用ViewPager实现无限循环滑动及轮播(附源码)
- java中cookie存取中文乱码
- 360笔试题(3.29)