【动态规划】书的复制 (ssl 1203)
书的复制书的复制书的复制
Description
现在要把m本有顺序的书分给k个人复制(抄写),每个人的抄写速度都一样,一本书不允许分给两个或两个以上的人抄写,分给每个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。
现在请你设计一种方案,使得复制时间最短。复制时间为抄写最多的人用去的时间。
Input
第一行两个整数,m,k(k<=m<=500)
第二行为m个整数,第i个数表示第i本书的页数。
Output
最短时间
Sample Input
9 3
1 2 3 4 5 6 7 8 9
Sample Output
17
题目大意:
用n本书,每本书都有自己的页数(抄一页要一个单位的时间),每个人抄的必须是连续的,而且不能把书给两个人抄,最快多久抄完?
解题方法:
本体类似于加法最大(传送门),它要的是时间花的最少的,我们要先求出两个人要花的最少时间,再依次往后求
动态转移方程:
f[i][k]=min(f[i][k],max(f[j][k−1],a[i]−a[j]))f[i][k]=min(f[i][k],max(f[j][k-1],a[i]-a[j]))f[i][k]=min(f[i][k],max(f[j][k−1],a[i]−a[j]))
标注:
i为求前i本书,k为k个人,j为分割线
#include<cstdio>
#include<iostream>
using namespace std;
int n,m,x,a[502],f[502][502];
int main()
{memset(f,127/3,sizeof(f));scanf("%d%d",&n,&m);for (int i=1;i<=n;i++){scanf("%d",&x);a[i]=a[i-1]+x;//前缀和,方便后面计算f[i][1]=a[i];//初始化}for (int k=2;k<=m;k++)//枚举人for (int i=k;i<=n-m+k;i++)//枚举前i本书for (int j=1;j<i;j++)//枚举分割线f[i][k]=min(f[i][k],max(f[j][k-1],a[i]-a[j]));//时间是分割线两边最大的,左边交给k-1个人做,右边交给第k个人做printf("%d",f[n][m]);
}
【动态规划】书的复制 (ssl 1203)相关推荐
- 信息学奥赛一本通 1278:【例9.22】复制书稿(book) | 洛谷 P1281 书的复制
[题目链接] ybt 1278:[例9.22]复制书稿(book) 洛谷 P1281 书的复制 [题目考点] 1. 动态规划:线性动规 [解题思路] 该题可以抽象为:将由m个数字构成的序列分成k个子段 ...
- BMH online judge刷题记——书的复制(二分)
书的复制 题目描述 现在要把m本有顺序的书分给k给人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一.第三.第四本书给同一个 ...
- 小红书app复制链接转换为可直接访问链接
当你在小红书复制某篇笔记链接,黏贴出来是这个样子的 这种链接只有打开小红书app才能够访问,那么怎么把这种链接转换为可直接访问的格式呢? 执行下方代码即可 import requests import ...
- 【动态规划-01背包】 HDU 1203 I NEED A OFFER!
1203 ( I NEED A OFFER! ) Problem Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学 ...
- 洛谷 1281 书的复制
[题解] 二分答案,贪心check. 然后根据二分出来的答案去计算每个人抄写的部分,注意要让前面的人少抄写,所以从后往前贪心即可. 1 #include<cstdio> 2 #inclu ...
- 【动态规划】 数字游戏 (ssl 1653)
数字游戏 题目大意: 有n个数,分别为a[1] (序号为1),a[2] (序号为2),a[3]-a[n],让你选m个数,每选一个数,就要减去已选个数(不算当前数)*b[i] (i为当前值的序号),所选 ...
- 【动态规划】农田个数 (ssl 1633)
农田个数农田个数农田个数 Description 你的老家在河北农村.过年时,你回老家去拜年.你家有一片NM农田,将其看成一个NM的方格矩阵,有些方格是一片水域.你的农村伯伯听说你是学计算机的,给 ...
- 【动态规划】分组背包 (ssl 2291)
分组背包分组背包分组背包 Description 有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].这些物品被划分为若干组,每组中的物品互相冲突,最多选一件.求解将哪些物品装 ...
- 【动态规划】加法最大 (ssl 1595)/乘积最大 (ssl 1007)
加法最大加法最大加法最大 Description 设有一个长度为n的数字字符串,分成k+1个部份,使其k+1部份相加的和为最大.例如:数字串'340670',k=1,其加法有 3+40670=4067 ...
最新文章
- 安卓中事件绑定的写法
- Java中的executeQuery,java连接数据库executeUpdate() 和executeQuery()
- 浅析Microsoft .net PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)转...
- ITK:Delaunay贴合边缘翻转
- Windows使用opencv训练模型过程记录(提供样本)
- 适用于Java开发人员的Elasticsearch:Elasticsearch生态系统
- raspberry pi_修改磁盘映像以创建基于Raspberry Pi的homelab
- 【Objective-C】探索Category底层的实质
- 进阶06 List集合
- 计算机网络试题及答案(史上最全)
- sgu 309 Real Fun
- 论计算机基础的重要性
- MySQL字符集是什么
- 远程操作安卓手机——所见即所控
- thymeleaf 语法大全
- 【报告分享】2020快手母婴生态报告-快手大数据研究院(附下载)
- 前端安全(http)
- 关于 redux-thunk 的作用,认识,理解
- 机器学习 --- k-means
- 17个最有用的PHP脚本(和5个出色的免费脚本)
热门文章
- mysql 8 配置参数优化_mysql8 参考手册--配置非持久性优化器统计参数
- ricky java photos_【Melee】Ricky blog updates and new photos
- setnx是原子操作吗_谈谈Volatile关键字?为什么不能保证原子性?用什么可以替代?为什么?...
- 如何把python文件发给别人没_如何把自己写的python程序给别人用
- 算法设计与分析——贪心算法——单个出水口打水问题
- python编程中的小问题汇总
- C++ 学习之旅(9)——类Class与结构Struct
- [SpringSecurity]web权限方案_自动登陆_原理分析和具体实现
- 对象的单数组表示(用单数组实现链表-不一样的链表实现)
- 算法-排序-归并排序