题解:首先要明确一件事,就是当分割的方案固定时,无论先分割的哪一段,结果都是不变的,然后能列出dp方程:$dp[i][j]=max(dp[k][j 1]+(a[i] a[k]) (a[n] a[i]))$,a[i]表示前缀和,我们能先枚举第二维,那么每层的dp值只和上一层相关,用滚动数组即可完成,然 ...
分类:
其他好文 时间:
2019-02-24 10:48:57
阅读次数:
174
https://www.lydsy.com/JudgeOnline/problem.php?id=3675 https://www.luogu.org/problemnew/show/P3648 http://uoj.ac/problem/104 PS:题面与题解针对于洛谷与uoj版本,bzoj请自 ...
【传送门:BZOJ3675】 简要题意: 一开始给出n个数的一段序列,可以分割k次,每次只能分割一段序列,一段序列被分割后就变成两个序列,每次分割的价值为分割的位置左边的数的和乘右边的数的和 求出最大价值 题解: DP+斜率优化 首先来设f[i][k]为前i个数,分割k次得到的最大价值 接下来。。。 ...
斜率优化。假如我讲不清楚就去%星感大神的题解吧 我一开始想了个O(kn^3)的 就是枚举k和n,然后枚举前面的点,然后枚举前面的点到当前点在哪断最优。 而O(kn^2)咋搞呢 我通过画图发现(其实是某人告诉了我分配律的问题) 样例最后断出来是这样的 (4),(1,3),(4,0),(2,3) 然后答 ...
3675: [Apio2014]序列分割 Description 小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序 ...
Description 小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序列——也就是一开始得到的整个序列); 2. ...
分类:
其他好文 时间:
2017-08-30 12:00:55
阅读次数:
139
3675: [Apio2014]序列切割 Time Limit: 40 Sec Memory Limit: 128 MB Submit: 1468 Solved: 607 [Submit][Status][Discuss] Description 小H近期迷上了一个分隔序列的游戏。在这个游戏里。小H ...
斜率优化 那个并查集还是A不掉,就做一些其他的。 一开始并不能写出dp方程,但是有这个结论,分割的顺序不影响答案,那么就很好写出了。 dp[i][k]=dp[j][k-1]+(sum[i]-sum[j])*sum[j] 因为顺序不影响答案,所以我们就可以看成从后往前一段一段割,所以就是先割掉i,再割 ...
分类:
其他好文 时间:
2017-06-26 21:08:50
阅读次数:
141
3675: [Apio2014]序列分割 Description 小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序 ...
分类:
其他好文 时间:
2017-06-14 21:14:07
阅读次数:
150
Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 2898 Solved: 1170 Description 小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重 ...