P1063-能量项链【区间dp】
正题
评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1063
题目大意
有n个珠子组成环,每颗珠子的头尾标记连接,将两颗珠子合并会产生headi∗headj∗tailjheadi∗headj∗tailjhead_i*head_j*tail_j的能量,产生一颗头标记为头珠子的头标记,尾标记为尾珠子的尾标记。
求所以珠子合并最大能量
解题思路
裸的区间dp
code
#include<cstdio>
#include<algorithm>
using namespace std;
int n,h[210],t[210],maxs,f[210][210];
int main()
{ scanf("%d",&n);
for(int i=1;i<=n;i++)
{ scanf("%d",&h[i]);
h[i+n]=t[i+n-1]=t[i-1]=h[i];
}
t[2*n]=h[1];
for(int i=2;i<=n;i++)
for(int l=1;l<=2*n-i+1;l++)
{ int r=l+i-1;
for(int k=l;k<r;k++)
{ f[l][r]=max(f[l][r],f[l][k]+f[k+1][r]+h[l]*t[k]*t[r]);
//动态转移
}
if(i==n) maxs=max(maxs,f[l][r]);
}
printf("%d",maxs);
}
P1063-能量项链【区间dp】相关推荐
- 洛谷 P1063 能量项链 区间dp
洛谷 P1063 题意:在一串项链中,是环状的,第 i 颗珠子有两个能量a[i]和a[i+1],第i+1颗珠子有两个能量a[i+1]和a[i+2],可以合并两个珠子,得到a[i]*a[i+1]*a[i ...
- P1063 [NOIP2006 提高组] 能量项链 区间dp
题目链接 题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的 ...
- 能量项链--区间dp典例
题目 思路 1.断环成链 2.区间大小枚举 3.区间起点枚举 4.区间的划分枚举 分析 1.可以采用处理环形问题的通用技巧,即复制一份接到后面.这里虽然输入是N个数,但实际上我们要求的是长N + 1的 ...
- 【每日DP】day12、P1063 能量项链(区间DP又一模板,震惊,只需要4行代码?)难度⭐⭐⭐
P1063 能量项链 本题(NOIP2006)和石子合并(NOI1999)几乎一模一样 垃圾NOIP抄袭NOI,手动狗头 但是还是有细微的区别的,首先你得先能看懂题,石子合并是N堆石子,是i−ki-k ...
- P1063 能量项链
P1063 能量项链 题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子, ...
- P1063 能量项链(C++_区间dp)
题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定 ...
- 【动态规划】区间dp: P1063能量项链
本题和合并石子果子一样,都是枚举最后一次合并的点 [动态规划笔记]区间dp:合并果子_m0_52043808的博客-CSDN博客 区别: 1.需要断环为链 2.每一堆石子变为两个值,这里用结构体实现 ...
- Noip P1063 能量项链
题目描述 在MarsMars星球上,每个MarsMars人都随身佩带着一串能量项链.在项链上有NN颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一 ...
- 洛谷 P1063 能量项链
题目传送门 解题思路: 一道很模板的环形dp,要注意状态转移时串的头和尾到底是哪个. AC代码: 1 #include<cstdio> 2 #include<iostream> ...
- 【P1063】 能量项链
之前一直在luogu博客上 2018年12月25日17:15:52 copy到博客园 P1063 能量项链 简单的区间dp 通过解决小区间来影响大区间 环形问题 存储的时候存两边 变成 2*N ...
最新文章
- flex 动态显示时间
- C#语句——循环语句(for循环与for循环嵌套)
- C++面向对象类的实例题目一
- n个节点的二叉树n+1_使用C ++程序将链接列表中的最后N个节点附加到第一个
- BZOJ 2242: [SDOI2011]计算器 [快速幂 BSGS]
- oracle更换rac节点,Oracle-rac 更改VIP地址—2节点的
- 如何导入一个项目 myeclipse
- pandas Series 判断每个元素是否包含某个子串
- 小程序--计算正负数个数
- 未来智慧城市长啥样?华为云让我们到深圳看一看
- 特斯拉AI日的感知之旅
- 计网实验(一):IP子网划分
- yum安装ruby_安装 Ruby
- ps计算机内存不足请保存文件并关闭,保存技巧,如何解决PS内存不足无法存储的错误提示情况...
- 7-12 求和:m+mm+mmm+mmmm+ ... +mmm……mmm(n个m)
- 服务器2003如何修复0,Windows Server 2003 SP2补丁无法安装解决方法(密钥无效)
- 2019年暑假第八周总结
- NCCL配置多卡运行
- Spring OAuth2 授权服务器配置详解
- Arduino图形化编程
热门文章
- php父子遍历,php无限分类父子追溯方法
- java io流 教程_Java基础教程:IO流与文件基础
- 云服务器下行_腾讯云轻量应用服务器简单测评
- python字符串设置字体_python怎么更改字符串后几位
- java emoji编码转换_java转换emoji表情
- sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句
- [Swagger2]配置Swagger
- C++二维数组作为函数参数
- [C++11]共享智能指针shared_ptr指定删除器
- JAVA解决生产消费者_Java常用三种方式解决生产者消费者问题(详细)