luogu P1880 [NOI1995]石子合并
咕咕咕
说好把济南集训时做的题写写题解还是鸽了然后因为太无聊又来续上了w
传送门~xiu
一道dp
具体是啥dp呢我去看看题解咋说
嗯
区间dp(跟我想的一样
把环拆成链来做
n的范围比较小就直接枚举从哪断开
然后就是正常的dp
区间和用前缀和优化一哈
看代码吧
#include<cstdio> #include<algorithm> using namespace std; #define maxn 210 #define INF 999999999int a[maxn]; int f[maxn][maxn],s[maxn][maxn];int main() {int n;scanf("%d",&n);for(int i = 1; i <= n; i++) {scanf("%d",&a[i]);a[i + n] = a[i];}for(int i = 1; i <= 2 * n; i++)a[i] = a[i] + a[i - 1];for(int r = 2; r <= n; r++)for(int i = 1; i <= 2 * n - r + 1; i++) {int j = i + r - 1;f[i][j] = f[i + 1][j] + a[j] - a[i - 1];s[i][j] = s[i + 1][j] + a[j] - a[i - 1];for(int k = i; k < j; k++) {f[i][j] = max(f[i][j],f[i][k] + f[k + 1][j] + a[j] - a[i - 1]);s[i][j] = min(s[i][j],s[i][k] + s[k + 1][j] + a[j] - a[i - 1]);}}int maxx = 0,minn = INF;for(int i = 2; i <= n; i++) {maxx = max(maxx,f[i][i + n - 1]);minn = min(minn,s[i][i + n - 1]);}printf("%d\n%d",minn,maxx);return 0; }
嗯草率地结尾了
啊对了
情人节快乐啊
都要快乐啊
就算一个人也要快乐啊
有人希望你快乐啊
转载于:https://www.cnblogs.com/sevenyuanluo/p/10380681.html
luogu P1880 [NOI1995]石子合并相关推荐
- P1880 [NOI1995] 石子合并 的详解
P1880 [NOI1995] 石子合并 [题目网站] [NOI1995] 石子合并 - 洛谷 [题目考点] 区间动态规划 [题目思路] 输入数组,把长度翻倍 初始化最小值数组 一个一个区间地填 找出 ...
- 区间DP初探 P1880 [NOI1995]石子合并
https://www.luogu.org/problemnew/show/P1880 区间dp,顾名思义,是以区间为阶段的一种线性dp的拓展 状态常定义为$f[i][j]$,表示区间[i,j]的某种 ...
- P1880 [NOI1995]石子合并
蒟蒻做NOI系列的题,好慌...... 题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试 ...
- 洛谷P1880 [NOI1995]石子合并
放题解 题目传送门 放代码 转载于:https://www.cnblogs.com/liuyuxinblog/p/10799085.html
- [NOI1995]石子合并
题目描述: 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成 ...
- 石子合并(洛谷-P1880)
题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...
- 石子合并[DP-N3]
题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...
- CSP认证201612-4 压缩编码[C++题解]:区间dp、huffman树、石子合并
题目分析 来源:acwing 分析: 本题难在想到是区间dp.想到区间dp之后,这就是石子合并的代码直接默写. 那么是如何建模的呢?我们把huffman编码(这里要求按照字典序大小编码,和huffma ...
- 算法基础课-动态规划-区间dp-AcWing 282. 石子合并:区间dp
文章目录 题目分析 题目链接 题目分析 只能合并相邻两堆.求体力最小值 数据比较弱,最多300堆,每堆重量不超过1000. 状态表示 f[i][j]表示合并区间[i,j]需要的最小体力 状态转移 把区 ...
最新文章
- 2021-春季学习-智能车技术创新与实践(90)
- 相邻帧差法和三帧差法
- 我的性格是外向型,解决问题导向的
- 爆破专栏丨Spring Security系列教程之实现CAS单点登录上篇-概述
- java nginx 例子_Nginx配置日志
- FastReport4.6程序员手册_翻译
- oracle+mybatis查询遇到CHAR类型字段
- java简单词法分析器(源码下载)
- Android实现按钮点击效果(第一次点击变色,第二次恢复)
- 语言的MASS包干什么的_R语言绘制平行坐标图(PCP)示例
- 1079 Total Sales of Supply Chain (25 分) 树的遍历:DFS+vector
- .Net Remoting 入门
- 感量越大抑制频率约低_EDA365:开关电源 LC 滤波器设计
- Arduino C语言 240*240 TFT 显示屏绘制表盘手把手教学,粗暴易懂
- 了解下STRAIGHT_JOIN
- Unity笔记-29-ARPG游戏项目-11-完善运动
- PDF转图片哪个格式最清晰?PDF转高清图片的方法
- 淘宝开发文档AlibcShowParams唤起淘宝的返回小把手
- 教程 | 阿克曼结构移动机器人的gazebo仿真(五)
- 图形化开发(五)022-Three.js之材质——受光影响-MeshLambertMaterial 兰伯特材质 MeshPhongMaterial 高光材质
热门文章
- 微服务之数据同步Porter 1
- VBA_Excel_教程:过程,函数
- hdu1521 指数型母函数
- struts2与struts1整合,java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
- 画函数图形的C#程序(改进版) (转)
- PyOpenCV 坐标系统
- 七牛云php20m文件上传不了,七牛云存储 - 用php上传图片,我在本地测试,用php 接口,不成功...
- c语言定时器作用,Go语言定时器实现原理及作用
- java eden space_JVM虚拟机20:内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)...
- VS高版本编写C程序的C4996错误