https://loj.ac/problem/10147 题目描述 有$n$堆石子围成一圈,每次可以将相邻两堆合并为一堆,合并的得分为合并成的石子的数量,求合并的最大得分和最小的得分。 思路 首先显然我们要化环为链,接下来考虑如果进行类似合并果子贪心的选择,那么可以构造出反例,而且数据比较小,我们考 ...
分类:
其他好文 时间:
2019-11-11 09:44:30
阅读次数:
74
后来我是发现还是区间dp最简单QwQ.. 在区间dp中,一个状态由若干个比它小且包含它的区间所代表的状态转移而来,初态一般就由长度为1的‘元区间’构成。 ——lyd《算法竞赛进阶指南》 大概就是将原本很长的一段区间不断细化,直到成为一个元区间可以求解为止。 举个栗子: 石子合并题目做了无数遍了,题意 ...
分类:
其他好文 时间:
2019-11-09 20:10:06
阅读次数:
93
$Solution$ 当$n$在$100$左右时,直接$O(n^3)$区间$DP$ 当$n$在$40000$左右时,需要用贪心算法: 加西亚 瓦克斯算法 ($Garsia\ Wachs$) 这是大概的流程 这是关于$Garsia\ Wachs$算法的正确性证明: "传送门" 时间复杂度最坏为$O(n ...
分类:
其他好文 时间:
2019-10-23 09:32:56
阅读次数:
93
1995年的noi区间dp题,这道题AC耗时达到了数月。 有一道题叫做果子合并,也是求合并的最小花费,但是那个题是可以随便合并两堆,但是这个题只能合并相邻的两堆,并且是一个环。对于环的问题,我们一般可以特判i==1和i==n或者倍增转化成链的问题,长度为两倍的时候即可涵盖所有环的情况。meanwhi ...
分类:
其他好文 时间:
2019-10-12 18:44:52
阅读次数:
69
【区间dp让人头痛……还是要多写些题目练手,抽空写篇博客总结一下】 这题区间dp入门题,理解区间dp或者练手都很妙 ——题目链接—— (或者直接看下面) 题面 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的 ...
分类:
其他好文 时间:
2019-10-06 09:56:57
阅读次数:
67
题目描述 设有N堆石子排成一排,其编号为1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。 例如有4堆 ...
分类:
其他好文 时间:
2019-10-05 14:40:49
阅读次数:
65
经典石子合并问题 1.每次取任意两个堆合并,合并价值为两堆重量(价值)之和: 贪心,每次取最小的两堆(哈夫曼模型),优先队列可以直接写 2.每次取相邻两个堆合并,合并价值为两堆重量(价值)之和: 堆数很小的时候(堆数<3000大概):区间dp+平行四边形优化 #include<bits/stdc++ ...
分类:
其他好文 时间:
2019-10-01 20:52:29
阅读次数:
197
题意: n个石子堆排成一排,每次可以将连续的最少L堆,最多R堆石子合并在一起,消耗的代价为要合并的石子总数 求合并成1堆的最小代价,如果无法做到输出0、 分析: 关键在于二维数组无法通过枚举解决了,所以要多开一维,用三维数组来做。 表示的状态为从第 i 堆,到第 j 堆,合并为 x 堆,最小需要的代 ...
分类:
其他好文 时间:
2019-10-01 10:01:55
阅读次数:
93
区间DP 区间dp状态设计的一般形式?区间dp一般就是设dp[i][j]表示区间[i,j]所能形成的最优答案或者方案数。?或者像序列一样,多加几维表示附加的信息 >最简单的区间dp:合并石子?有n堆石子,每次只能合并相邻的两堆石子,并且消耗相邻两堆石子个数的体力值,问最少消耗多少体力值将n堆石子合并 ...
分类:
其他好文 时间:
2019-09-08 18:26:57
阅读次数:
87
最近两周做了动态规划的23道经典好题,涉及到区间、树形、数位等三种动态规划类型,现在将这23道题的题解写在下面,方便大家借鉴以及我加深记忆。 upd at:20190814 20:46.T7二叉苹果树 1、石子合并 经典的区间DP问题,枚举合并的堆数作为阶段,设f[i][j]表示i->j这段区间内的 ...
分类:
其他好文 时间:
2019-08-14 21:56:46
阅读次数:
77