题意:将元素为n的序列划分出m个不相交的子段,并求最大子段和。 例:输入2 6 -1 4 -2 3 -2 3,其中m=2,n=6 4 -2 3 和 3两个子段和为8。 运用动态规划的思想,设置数组dp记录i个子段和的最大值且第i个子段包含num[j]项。 #include <iostream> us ...
分类:
其他好文 时间:
2020-02-08 17:22:25
阅读次数:
69
$dp[i][0/1]$ 表示考虑前 $i$ 个元素,以 $i$ 结尾的最大子段和,$0$ 表示还未交换过,$1$ 表示已经交换过 $dp[i][0] = a[i] + \max\{dp[i 1][0],0\}$ $dp[i][1] = \max\{dp[i][0],dp[i 1][1]+a[i], ...
分类:
其他好文 时间:
2020-02-06 16:19:29
阅读次数:
62
1052 dp即可$dp[i][j]$ 表示前 $i$ 个数分成 $j$ 段。$dp[i][j]=a[i]+\max\{dp[i-1][j], \max\{dp[k][j-1]\}\}$前缀max优化一下即可 #include <bits/stdc++.h> #define ll long long ...
分类:
其他好文 时间:
2020-02-01 19:30:40
阅读次数:
63
Maximum sum AC_Code 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 #include <string> 6 #include <cmath> 7 #inclu ...
分类:
其他好文 时间:
2020-01-31 12:29:11
阅读次数:
73
GSS Can you answer these queries I ~ ? (持续更新...) $\text{SPOJ}$ 毒瘤的 数据结构系列, 值得一做 "GSS I :" 给定一数列$A$, 支持查询区间最大子段和 $A[i] \le 15007,\ N\le 5e4$ 线段树常规做法 : ...
分类:
其他好文 时间:
2020-01-04 21:58:09
阅读次数:
83
算法期末备考-第5练 【主要内容】 动态规划 背包类型的dp:01背包 线性dp:最长公共子序列,编辑距离 经典例题: 独立任务最优调度,最大子段和 01背包 【题目链接】 https://www.acwing.com/problem/content/2/ 【题目描述】 有 N 件物品和一个容量是 ...
分类:
编程语言 时间:
2020-01-01 18:33:31
阅读次数:
170
动态规划算法与分治法类似,其基本思想是将总问题分解成若干个子问题,先求解子问题,再结合这些子问题的解得到原问题的解。与分治法不同的是,动态规划求解的问题经分解得到的子问题往往不是相互独立的。 基本思想: 将总问题分解成多个子问题(子问题也可以继续分解,直到无法分解),计算子问题,用一个表保存已解决的 ...
分类:
其他好文 时间:
2019-12-15 18:24:59
阅读次数:
109
调了一辈子的fhq treap… "如果不会最大子段和" "如果不会fhq treap" 7个操作… 其中三个查询 单点查询其实可以和区间查询写成一个( fhq treap 的修改操作大概就是 $split$ 完了然后把修改区间的根 打上标记 等着下传就完事了… 那这题没了…我给个好一点的小数据…反 ...
分类:
其他好文 时间:
2019-12-08 14:02:10
阅读次数:
101
题目链接 http://uoj.ac/problem/164 题解 神仙线段树题。 首先赋值操作可以等价于减掉正无穷再加上$x$. 假设某个位置从前到后的操作序列是: $x_1,x_2,...,x_k$ 那么则有: 当前值就是该序列的最大后缀和,历史最大值就是该序列的最大子段和! 然后如果把最大子段 ...
分类:
其他好文 时间:
2019-12-08 11:07:17
阅读次数:
90
例13 最大子段和 题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。例如在序列2,-4,3,-1,2,-4,3中,最大的子段和为4,该子段为3,-1,2。 输入格式 第一行是一个正整数N,表示了序列的长度。 第二行包含N个绝对值不大于10000的整数Ai ,描述了这段序列。 输出格式 ...
分类:
编程语言 时间:
2019-11-21 10:24:09
阅读次数:
86