Libre OJ #10147. 「一本通 5.1 例 1」石子合并

题意

n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。
请编写一个程序,读入堆数 n 及每堆的石子数,并进行如下计算:
选择一种合并石子的方案,使得做 n1 次合并得分总和最大。
选择一种合并石子的方案,使得做 n1 次合并得分总和最小。

算是一个典例吧。
题目中询问最大最小值,对这两个问题分别dp即可。
显然,题目中的石堆环就相当于凸多边形,而石堆则相当于顶点。当你将相邻的石堆合并时,剩下的石堆是互不干扰的。这就是一个典型的凸多边形模型。
考虑到石堆是环形放置的,因此需要破环为链,将环多复制几次,最后统计答案时注意区间长度即可。

代码先咕一咕。


__EOF__

本文作者Never Gonna Give You Up!
本文链接https://www.cnblogs.com/CZ-9/p/17366133.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   腾云今天首飞了吗  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示