贿赂囚犯 Bribe the prisoners DP
对于i到j之间我们要去除第k个人。
我们需要i-k之间所有的花费 加上 k-j之间所有的花费 加上 当前需要的花费
前面两部分花费我们dp早就求出了
当前需要的花费 我们是对于当前i到j这一部分,我们看作是i为头,j为尾,都是靠边的了。所以就是j-i+2
#include <iostream>
using namespace std;
int n,m;
int A[110];
int dp[110][110];
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>A[i];
}
A[0]=0;
A[m+1]=n+1;
for(int i=0;i<=m;i++)
{
dp[i][i+1]=0;
}
for(int k=2;k<=m+1;k++)//优先间距,因为我们间距越拆越小,先处理小的
{
for(int i=0;i+k<=m+1;i++)//出发点
{
int j=i+k;
int tmp=1e9+8;
for(int u=i+1;u<j;u++)
{
tmp=min(tmp,dp[i][u]+dp[u][j]);//找到最小的拆分方式
}
dp[i][j]=tmp+A[j]-A[i]-2;//A【j】-A【i】-2,因为假设两边都是到头的
}
}
cout<<dp[0][m+1]<<endl;
}
贿赂囚犯 Bribe the prisoners DP相关推荐
- 贿赂囚犯 Bribe the prisoners (动态规划)
问题描述: Problem In a kingdom there are prison cells (numbered 1 to P) built to form a straight line se ...
- 编程题-贿赂囚犯(Bribe the prisoners)-动态规划|剪枝
转载请注明出处:http://blog.csdn.net/Lizo_Is_Me/article/details/43735509 问题描述: 一个监狱里有P个并排着的牢房,从左往右一次编号为1,2,- ...
- 贿赂囚犯 Bribe the prisoners ( 动态规划+剪枝)
一个监狱里有P个并排着的牢房,从左往右一次编号为1,2,-,P.最初所有牢房里面都住着一个囚犯.现在要释放一些囚犯.如果释放某个牢房里的囚犯,必须要贿赂两边所有的囚犯一个金币,直到监狱的两端或者空牢房 ...
- Bribe the Prisoners SPOJ - GCJ1C09C
滴答滴答---题目链接 贿赂囚犯 Bribe the prisoners ( 动态规划+剪枝) Problem In a kingdom there are prison cells (numbere ...
- [区间记忆化dp入门][Bribe the Prisoners SPOJ - GCJ1C09C][Codeforces Round #505D (rated, Div. 1 + Div. 2, ba]
Bribe the Prisoners SPOJ - GCJ1C09C 作为这类题代表,f[i][j]代表第i点到第j点单独处理的最值 这题关键:释放某个囚犯后,就把囚犯分成两段,两段互相独立 这类d ...
- Bribe the Prisoners(GCJ 2009 Round 1C C)(dp)
题意: 一个监狱里有P个并排着的牢房.从左至右依次编号为1,2,...,P.最初所有的牢房里都住着一个囚犯.相邻的两个牢房之间可以互通信息. 现在要释放一些囚犯.如果释放某个牢房里的囚犯,其相邻的牢房 ...
- Bribe the Prisoners 菜鸟的记录
Bribe the Prisoners 题目大意 有一个监狱里有一排牢房1-P,其中住着一些囚犯.现在要释放一些囚犯Q, 当释放一个囚犯的时候,要给两边所有的囚犯每人一枚金币, 直到遇到空牢房或者尽头 ...
- [dp]GCJ 2009 Bribe the Prisoners
原文 原作者 lizo_is_me 问题描述: 一个监狱里有P个并排着的牢房,从左往右一次编号为1,2,-,P.最初所有牢房里面都住着一个囚犯.现在要释放一些囚犯.如果释放某个牢房里的囚犯,必须要贿赂 ...
- 挑战2.7.3 Round 1C 2009 C. Bribe the Prisoners 区间dp
题目链接: https://code.google.com/codejam/contest/189252/dashboard#s=p2 题意: 题解: 区间dp dp[i][j] 表示释放a[i]~a ...
最新文章
- Go 学习笔记(72)— Go 第三方库之 pkg/errors 带堆栈的错误处理
- Spring MVC 中急速集成 Shiro 实践
- 扭矩大好还是马力大好_发动机的马力重要还是扭矩重要?加速到底看哪个?
- 《信息学奥赛一本通》回文数(Noip 1999)
- MYSQL的空间查询(转帖)
- 花器官身份基因与靶基因间的调控进化情况
- 微擎乐慧云智慧农场源码V1.0.1
- 【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)
- 【一分钟知识】梯度下降与牛顿法对比
- 永久删除掉qq安全防护进程q盾
- python贴吧顶贴_Python实现百度贴吧自动顶贴机
- android eclipse三合一,创新巅峰之作全能型Orbitrap Eclipse三合一质谱仪
- 操作系统——进程管理
- iOS直播等开源项目地址收藏
- 每月一书(202202): 《从零开始做自媒体》
- php 解析mpp 格式文件
- 高通物联网智能WIFI芯片-QCA4002/QCA4004
- 机器人被挠脚心_《fm及机器人系列(tk)》专题
- VSTO C# 操作excel
- 微信怎么@所有人?必备苹果手机小技巧
热门文章
- python的if和else的缩进问题_Python if else对缩进的要求
- 几何/极星“出师不利”,极氪“出位”,吉利“急攻”智能电动
- 摩尔定律要失效了吗?
- Amazon Aurora 故障恢复之降低 DNS 切换对应用影响篇
- 学习编程有那么难吗?
- cocos2d-x ZIPDecompress函数实现
- Java 中Map map = new HashMap()为什么不写成HashMap map = new HashMap()或者Map map = new Map()?
- 计算机音乐谱大全强军战歌,《强军战歌,钢琴谱》阎维文(五线谱 钢琴曲 指法)-弹吧|蛐蛐钢琴网...
- 什么是POP3、SMTP和IMAP?
- 计算机课程期末总结1000字,学期末总结1000字