Analysis

区间dp+前缀和

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 210
#define INF 2139062143
using namespace std;
int n,minn=INF,maxx;
int a[2*maxn],dp_min[2*maxn][2*maxn],dp_max[2*maxn][2*maxn],sum[2*maxn];
int main()
{memset(dp_min,127,sizeof(dp_min));scanf("%d",&n);for(int i=1;i<=n;i++) {scanf("%d",&a[i]);a[i+n]=a[i];}sum[1]=a[1];for(int i=2;i<=2*n;i++) sum[i]=sum[i-1]+a[i];for(int i=1;i<=2*n;i++){dp_min[i][i]=0;dp_max[i][i]=0;} for(int len=2;len<=n;len++){for(int i=1;i<=2*n;i++){int j=i+len-1;if(j>2*n) break;for(int k=i;k<j;k++){dp_min[i][j]=min(dp_min[i][j],dp_min[i][k]+dp_min[k+1][j]+sum[j]-sum[i-1]);dp_max[i][j]=max(dp_max[i][j],dp_max[i][k]+dp_max[k+1][j]+sum[j]-sum[i-1]);}}}for(int i=1;i<=n;i++){minn=min(minn,dp_min[i][i+n-1]);maxx=max(maxx,dp_max[i][i+n-1]);}printf("%d\n%d",minn,maxx);return 0;
}
/*
4
4 5 9 4
*/

请各位大佬斧正(反正我不认识斧正是什么意思)

转载于:https://www.cnblogs.com/handsome-zyc/p/11309196.html

LOJ P10147 石子合并 题解相关推荐

  1. AcWing.282石子合并(区间DP)题解

    石子合并 题目描述 设有N堆石子排成一排,其编号为1,2,3,-,N. 每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆. 每次只能合并相邻的两堆,合并的代价为这两堆石子的质 ...

  2. 單子の题解:直线石子合并

    單子の题解:直线石子合并 题目描述 题目核心 代码实现 题目描述 古娜拉黑暗之神. 题目核心 状态表示:dp[i][j]表示从i到j的合并最小代价 列举每个小区间i,j的代价 左右两堆合成的最小代价= ...

  3. CSP 202203 题解:未初始化警告,出行计划,计算资源调度器,通信系统管理,博弈论与石子合并

    试题内容请前往CCF官网查看: CCF-CSP计算机软件能力认证考试 http://118.190.20.162/home.page CCF 官方题解请点击这里. 阅读本题解前,您应当了解下列知识: ...

  4. CSP认证201612-4 压缩编码[C++题解]:区间dp、huffman树、石子合并

    题目分析 来源:acwing 分析: 本题难在想到是区间dp.想到区间dp之后,这就是石子合并的代码直接默写. 那么是如何建模的呢?我们把huffman编码(这里要求按照字典序大小编码,和huffma ...

  5. 7-10 石子合并 (10 分)

    一:前言: 关于石子合并,这个问题分为链型和环形两种,本题当中用的是环形,但我们在学习动态规划,所以多练肯定是有好处的,况且将链型的问题解决后,更容易理解环形的解决方法,所以本次题解分为两部分链型和环 ...

  6. AcWing 1068. 环形石子合并

    AcWing 1068. 环形石子合并 题意: n堆石头围成一个圈,然后将相邻两堆合并成新的一堆,得分为新的一堆的石头数 问最高得分合最低得分 题解: 很简单,区间dp的模板题 和这个题一样 状态转移 ...

  7. 【动态规划】 石子合并问题(环形) (ssl 1597)

    石子合并问题石子合并问题石子合并问题 Description 在一个圆形操场的四周摆放着n 堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该 ...

  8. 动态规划入门 合并石子 COGS1660 石子合并

    1660. 石子合并(加强版) ★★   输入文件:stone3.in   输出文件:stone3.out   简单对比 时间限制:1 s   内存限制:256 MB [题目描述] 在一个圆形操场的四 ...

  9. 动态规划经典题之石子合并

    题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分 试设计出1个算法,计算出将N堆石子合并成1堆 ...

  10. 区间DP之环形石子合并

    环形石子合并 题目传送门 题目描述 将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆. 规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分. 请编写一个程序,读入堆 ...

最新文章

  1. .NET面向上下文、AOP架构模式(实现)
  2. Vue实现仿音乐播放器12-实现歌手页面效果
  3. PPT 下载 | 神策数据曹犟:数据驱动从方法到实践
  4. 欢迎来到我的第一个个人laravel尝试论坛项目,给予评价和建议 谢谢。
  5. 只要十步,你就可以应用表达式树来优化动态调用
  6. orcad自上而下_开发自上而下的Web服务项目
  7. [转]kafka介绍
  8. vue 使用了浏览器的刷新之后报错_Electron-vue运行之后出现了文件浏览器
  9. [ 逻辑锻炼] 用 JavaScript 做一个小游戏 ——2048 (详解版)
  10. 【分享】班组5S管理实践办法
  11. 领域驱动设计系列关键概念
  12. 如何免费使用内网穿透
  13. 工程测量(建筑物施工、监测)
  14. 普通路由器DMZ主机设置及访问方法
  15. UTS安装与卸载-Linux篇
  16. 炼石喜获“2020中国网络安全产业联盟突出贡献单位奖”
  17. moocpython程序设计答案_中国大学MOOC免费答案_Python程序设计答案第七章节答案
  18. Python有什么用?Python 的 10 个实际用途
  19. oracle聚簇因子对于索引使用的影响
  20. 首届.NET Core开源峰会 2018年5月20日

热门文章

  1. 半夜偷看“不良网站”,删除历史记录也没用,“坏影响”已悄然发生
  2. Spring Boot 学习笔记,这个太全了!
  3. 微服务在微信的架构实践
  4. 14万程序员挑战过的算法趣题
  5. 微服务架构如何实现网站服务垂直化拆分
  6. 携程App的网络性能优化实践
  7. 原来有这么多的国产“自主研发”早就把开源项目抄哭了
  8. 趣图:SQL 版的喝椰汁,没想到吧
  9. MVC中将list转化成json 并处理时间格式
  10. Android mainfests手记