【算法学习笔记】85.破环为链 序列DP 松弛+代价 SJTU OJ 1073 能量项链
和石子合并很像, 为了对环状进行处理, 我们可以把输入数据复制一份接连在后边. 这样在最后的结果枚举起点找最大即可.
注意这里代价的计算, 因为我们的data[i]只记录了珠子的头 , 珠子的尾部即是下一个珠子的头部.
//因为计算dp[i][j]时需要
用到dp[i][k] k比j小 所以j要顺序DP
也需要用到dp[k][j] k比i大 所以i要逆序 DP
k插入即可
for (int i = 2*n-1; i >=1 ; --i){for (int j = i; j <= 2*n; ++j){dp[i][j] = 0;for (int k = i; k < j ; ++k) dp[i][j] = max(dp[i][j], dp[i][k] + dp[k+1][j] + zz[i]*zz[k+1]*zz[j+1]); } }
或者用len的方式来遍历 更容易写
for( int len = 1; len < 2*n; ++len ){for (int i = 1; i <= 2*n-len; ++i){int j = i + len;dp[i][j] = 0;for (int k = i; k < j; ++k)dp[i][j] = max(dp[i][j], dp[i][k]+dp[k+1][j] + zz[i]*zz[k+1]*zz[j+1]);} }
转载于:https://www.cnblogs.com/yuchenlin/p/sjtu_oj_1073.html
【算法学习笔记】85.破环为链 序列DP 松弛+代价 SJTU OJ 1073 能量项链相关推荐
- 数据结构与算法学习笔记——链栈
数据结构与算法学习笔记(C语言) 链栈 在开始链栈的学习之前,我们先实现一下上一篇文章中提到的检查括号匹配的小程序,鉴于水平有限,本人就随便写一下代码好了,目标仅限于对功能的实现. /*用顺序栈这种数 ...
- 输出dag的所有拓扑排序序列_算法学习笔记(53): 拓扑排序
拓扑排序是对DAG(有向无环图)上的节点进行排序,使得对于每一条有向边 , 都在 之前出现.简单地说,是在不破坏节点 先后顺序的前提下,把DAG拉成一条链.如果以游戏中的科技树(虽然名字带树,其实常常 ...
- 深度强化学习笔记02-马尔可夫链
深度强化学习笔记02-马尔可夫链 这几天杂事比较多,看了一些相关内容,但是没有时间形成笔记,此笔记复制与datawhale的MDP一节,后期自己学习填补. MDP [外链图片转存失败,源站可能有防盗链 ...
- 数据结构与算法学习笔记之 提高读取性能的链表(上)
数据结构与算法学习笔记之 提高读取性能的链表(上) 前言 链表(Linked list)比数组稍微复杂一点,在我们生活中用到最常见的应该是缓存,它是一种提高数据读取性能的技术,常见的如cpu缓存,浏览 ...
- 网络流算法学习笔记——最大流问题基本概念和Ford-Fulkerson方法(标号法C++实现)
屈婉玲<算法设计与分析>第2版第7章网络流算法学习笔记. 基本概念 最大流问题,相当于有从s到t的供水系统,每段路径都有限定流量,除了s.t两地外,每个中间点都不能滞留,从s流入多少,就从 ...
- 算法学习笔记:网络流#4——ISAP 求解最大流
算法学习笔记:网络流#4--ISAP 求解最大流 1. 前言 2. 模板 2.1 详解 2.2 正确性证明 2.3 代码 3. 算法对比 3.1 一般数据下的对比 3.2 特殊数据下的对比 4. 总结 ...
- 数据结构与算法学习笔记——图 C++实现
数据结构与算法学习笔记--图 C++实现 1 概念 2 图的表示方法 3 算法 3.1 拓扑排序 3.2 图的搜索算法 3.2.1 广度优先搜索(BFS) 3.2.2 深度优先搜索(DFS) 3.3 ...
- 数据结构与算法学习笔记之先进先出的队列
前言 队列是一种非常实用的数据结构,类似于生活中发排队,可应用于生活,开发中各个方面,比如共享打印机(先请求先打印),消息队列.你想知道他们是怎么工作的么.那就来一起学习一下队列吧 正文 一.队列的定 ...
- 大顶堆删除最大值_算法学习笔记(47): 二叉堆
堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小).当根节点保存堆中最大值时,称为大根堆:反之,则称为小根堆. 二叉堆(Binary Heap)是最简单.常用的堆,是一 ...
最新文章
- python基础知识整理 第一节:入门记录(包含代码与执行结果)
- FSWD_1_BasicHtmlCss
- manjaro笔记本显卡驱动_从入门到高端!AMD Radeon RX 500系列移动显卡全解析
- 计算机应用基础教案 马成荣,江苏省职业学校计算机应用基础(马成荣主编)课程两课评比教案:单元教学设计说明...
- Python3网络爬虫(四): 登录
- progressIndicator in SalesPipeline
- Firebug控制台详解[转]
- 谷歌官宣安卓改名!甜点不再
- html 点击选择变色,JS实现菜单点击后变色
- Porteus 2.0 RC1 发布,轻量级 Linux 版本
- 世界各国各地区名称代码对应表
- 用GHOST一键恢复之后,电脑只剩C盘了
- 使用SpreadJS迅速开发一套属于自己的欧洲杯赛程小工具
- Pytorch模型训练(0) - CPN源码解析
- java cnzz爬数据_PHPcurl抓取cnzz统计数据
- html的页脚设计,如何单独设置页眉页脚
- Mina中的Snark Worker
- layui使用formselect4完成的下拉框多选,拼音搜索
- NDK - JNI官方中文资料
- oracle move不能操作分区,关于Oracle分区表的move操作
热门文章
- java爬虫隐藏表单提交_java爬虫--jsoup简单的表单抓取案例
- PTA9、计算利率 (10 分)
- Java深入 - servlet和Spring的DispatcherServlet详解
- api 微信内置浏览器js_微信小程序和HTML的区别
- ios上textarea不能输入
- .net面试题(会持续更新)
- 记一次ElasticSearch重启之后shard未分配问题的解决
- Android学习笔记View的工作原理
- JAVA异常使用_每个人都曾用过、但未必都用得好
- [wp7游戏]wp7~~超级血腥类游戏~~集合贴~~