释放囚犯(洛谷-P1622)
题目描述
Caima王国中有一个奇怪的监狱,这个监狱一共有P个牢房,这些牢房一字排开,第i个紧挨着第i+1个(最后一个除外)。现在正好牢房是满的。
上级下发了一个释放名单,要求每天释放名单上的一个人。这可把看守们吓得不轻,因为看守们知道,现在牢房中的P个人,可以相互之间传话。如果某个人离开了,那么原来和这个人能说上话的人,都会很气愤,导致他们那天会一直大吼大叫,搞得看守很头疼。如果给这些要发火的人吃上肉,他们就会安静点。
输入输出格式
输入格式:
第一行两个数P和Q,Q表示释放名单上的人数;
第二行Q个数,表示要释放哪些人。
【数据规模】
对于100%的数据1≤P≤1000; 1≤Q≤100;Q≤P;且50%的数据 1≤P≤100;1≤Q≤5
输出格式:
仅一行,表示最少要给多少人次送肉吃。
输入输出样例
输入样例#1:
20 3
3 6 14输出样例#1:
35
【样例说明】
先释放14号监狱中的罪犯,要给1到13号监狱和15到20号监狱中的19人送肉吃;再释放6号监狱中的罪犯,要给1到5号监狱和7到13号监狱中的12人送肉吃;最后释放3号监狱中的罪犯,要给1到2号监狱和4到5号监狱中的4人送肉吃。
思路:
设 f[i][j] 为区间释放 i~j 号囚犯所需最少的肉,枚举所有分界点 k,则:f[i][j]=min{f[i][j],f[i][k-1]+f[k+1][j]+a[j+1]-a[i-1]-1-1}
a[j+1]-a[i-1]-1 是第 j+1 个要放出的囚犯到第 i-1 个要放出的囚犯之间的人数,也即要发的肉的数量
最后一个 -1 ,就是第 k 个放出去的囚犯,不用再给他发肉了
源代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<set>
#include<map>
#include<stack>
#include<ctime>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 10001
#define MOD 1e9+7
#define E 1e-6
#define LL long long
using namespace std;
int a[N];
int f[N][N];
int main()
{int p,q;cin>>p>>q;for(int i=1;i<=q;i++)cin>>a[i];a[0]=0;a[q+1]=p+1;sort(a+1,a+q+1);for(int len=1;len<=q;len++)//枚举区间长度{for(int i=1;i+len-1<=q;i++)//枚举所有起点{int j=i+len-1;//终点位置f[i][j]=INF;for(int k=i;k<=j;k++)//枚举所有间断点f[i][j]=min(f[i][j],f[i][k-1]+f[k+1][j]+a[j+1]-a[i-1]-1-1);}}cout<<f[1][q]<<endl;return 0;
}
释放囚犯(洛谷-P1622)相关推荐
- P1622 释放囚犯题解
前言:这是本蒟蒻第一次提交动态规划的题解,大佬勿喷. 这道题是道区间DP的好题啊!首先,我想到的是 f i , j f_{i,j} fi,j 来表示释放第 i i i 到第 j j j 个犯人要给的 ...
- 深入理解 操作系统 SJF算法(以洛谷P1223题为例)
CPU Scheduling Algorithms 重要的CPU调度算法如下: FCFS Scheduling(First-Come, First-Served) SJF Scheduling(Sho ...
- 洛谷P2240木材加工
题目链接 洛谷P2240 题目描述 木材厂有 n根原木,现在想把这些木头切割成 k 段长度为l的小段木头(木头有可能有剩余). 当然,我们希望得到的小段木头越长越好,请求出 l的最大值. 木头长度的单 ...
- rail铁轨 洛谷 测试数据_你见过什么生成 OI 比赛测试数据的工具?
问者自答: CarYon:一款基于C++的OI/ACM 比赛测试数据生成器 前言 这是干什么用的? 在举办自己的OI比赛的时候,你有没有遇到过以下问题想快速生成一段文字? 想快速进行数学运算来生成数据 ...
- 洛谷大起义胜利的经验总结
UPD1(2019.7.11):chen_zhe解除了对我的禁言,但仍保持大脑皮层对刷题重心转到LibreOJ的决策,50年不变. 2019-07-09 9:54 结束黑暗无光的\(luogu\)统治 ...
- 洛谷 P3802 小魔女帕琪【期望】
洛谷 P3802 小魔女帕琪[期望] 本题大意:共有7个数(1234567)第i个数有ai个,把所有sum(a1+a2+..+a7)个数随机出现时,求连续成功出现7个不同数字的期望次数, 分析:(分为 ...
- 洛谷 P7453 [THUSCH2017] 大魔法师
PS:如果读过题了可以跳过题目描述直接到题解部分 提交链接:洛谷 P7453 [THUSCH2017] 大魔法师 题目 题目描述 大魔法师小 L 制作了 n n n 个魔力水晶球,每个水晶球有水.火. ...
- 洛谷-题解 P2672 【推销员】
独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...
- 洛谷 P1142 轰炸
洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...
最新文章
- 《关系营销2.0——社交网络时代的营销之道》一T表示Technology(技术)
- ELK5.3环境部署
- oracle数据库视图存放位置,oracle数据库审计
- wojilu系统的ORM介绍
- mui HTML5 plus 下载文件
- Spring Security OAuth2 授权失败(401)
- mysql存入中文乱码解决方法(windows环境)
- 2022年定位系泊系统市场深度分析及发展研究预测报告
- nexus下载安装和创建maven私库
- Android下载文件常见错误解决方法
- 增长模型—评分卡模型
- 微信商户转账到银行卡-java_微信商户平台的钱如何转到个人账户中
- C++ OpenCV 将黑点框出来
- 【集合论】关系表示 ( 关系矩阵 | 关系矩阵示例 | 关系矩阵性质 | 关系矩阵运算 | 关系图 | 关系图示例 | 关系表示相关性质 )
- java出现令牌语法错误_java – 令牌上的语法错误
- cocos2dx 3.9.1 mac模拟器log输出bug修正
- html鼠标滚轮监听,javascript监听鼠标滚轮事件浅析
- 扫描仪产品国家抽检实施细则及信息技术类产品检测设备
- 4800u功耗测试软件,ryzen controller---移动端锐龙处理器解锁功耗工具(附使用方法)...
- matlab stats里的f值,MATLAB 回归分析regress,nlinfit,stepwise函数