石子归并(区间 dp 模板)
发布日期:2021-11-02 09:48:41
浏览次数:3
分类:技术文章
本文共 911 字,大约阅读时间需要 3 分钟。
石子归并
有N堆石子排成一排,其中第i堆的石子的重量为Ai,现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆合并成新的一堆,形成的新石子堆的重量以及消耗的体力都是两堆石子的重量之和。
求把全部N堆石子合并成一堆最少需要消耗多少体力。代码
#include#include #include #include #include using namespace std;#define ll long long#define inf 0x3f3f3f3fll a[400], sum[400], dp[400][200];int main() { int n; while (scanf("%d", &n) != EOF) { for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); sum[i] = sum[i - 1] + a[i]; dp[i][i] = 0; } for (int l = 2; l <= n; l++) { for (int i = 1; i + l <= n + 1; i++) { int j = i + l - 1; dp[i][j] = inf; for (int k = i; k < j; k++) { dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] - sum[i - 1] + sum[j]); } } } printf("%d\n", dp[1][n]); }}
转载地址:https://blog.csdn.net/weixin_43820352/article/details/108557377 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月24日 14时21分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
OAuth 2.0实战(二)-为什么要先获取授权码code?
2019-04-27
授权服务是如何颁发授权码和访问令牌的?
2019-04-27
OAuth2.0实战(三)-使用JWT
2019-04-27
你确定懂OAuth 2.0的三方软件和受保护资源服务?
2019-04-27
你真的深知JWT(JSON Web Token)了吗?
2019-04-27
Mac下查看、切换JDK版本及其安装目录
2019-04-27
在Mac上安装consolas字体
2019-04-27
阿里P8面试:微服务项目如何校验参数
2019-04-27
判断URL字符串是否合法
2019-04-27
图文+代码讲解带你攻克OAuth 2.0授权流程的三座大山
2019-04-27
VirtualBox添加ISO文件
2019-04-27
图文+代码带你攻克OAuth 2.0三大核心授权类型
2019-04-27
@Value注解不能注入static修饰的属性
2021-06-30
spring boot 2.x 接口返回时间类型不再自动序列化为timestamp
2021-06-30
Ubuntu Linux 创建root用户并且允许远程登录
2021-06-30
Linux shell 关于 2>&1 的含义
2021-06-30
Ubuntu Linux系统使用apt-get install安装的软件的相关位置
2021-06-30
nginx同一server配置多个前端工程location访问404问题
2021-06-30