Milking Time POJ - 3616(动态规划DP)

POJ3616 Milking Time (简单DP)——菜鸟的ACM之旅 POJ3616 Milking Time 题目大意 奶牛Bessie非常的勤奋,她想在N时间内产出最多的牛奶。我们的老朋友Farmer John 有M个挤奶的时间段,有可能有重叠。每个时间段由开始时间和结束时间组成,每个时间段Bessie会产出e的奶,Farmer John可以在这些时间段里为Bessie挤奶,需要注意的是,必须要挤够一个完整的时间段。但是我们的Bessie也会劳累,每挤完一次奶,她就要休息R小时,求在N小时内挤出奶的最大量 思路 DP,d[i] 表示在i这个时刻,挤出奶的最大量。时间段表示 阅读详情

Milking Time

POJ - 3616

Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0..N-1) so that she produces as much milk as possible.

Farmer John has a list of M (1 ≤ M ≤ 1,000) possibly overlapping intervals in which he is available for milking. Each interval i has a starting hour (0 ≤ starting_houri ≤ N), an ending hour (starting_houri < ending_houri ≤ N), and a corresponding efficiency (1 ≤ efficiencyi ≤ 1,000,000) which indicates how many gallons of milk that he can get out of Bessie in that interval. Farmer John starts and stops milking at the beginning of the starting hour and ending hour, respectively. When being milked, Bessie must be milked through an entire interval.

Even Bessie has her limitations, though. After being milked during any interval, she must rest R (1 ≤ R ≤ N) hours before she can start milking again. Given Farmer Johns list of intervals, determine the maximum amount of milk that Bessie can produce in the N hours.

Input

* Line 1: Three space-separated integers: N, M, and R
* Lines 2..M+1: Line i+1 describes FJ's ith milking interval withthree space-separated integers: starting_houri , ending_houri , and efficiencyi

Output

* Line 1: The maximum number of gallons of milk that Bessie can product in the N hours

Sample Input
12 4 2
1 2 8
10 12 19
3 6 24
7 10 31
Sample Output
43
 因为题目的给定数据最晚结束时间一定是小于等于N的,所以我们按照结束时间从小到大排个序,然后从前往后枚举每次选中一个,这个时间段挤不挤奶,判断方法就是枚举之前的时间段,看之前时间段的结束时间点+休息时间r如果小于等于当前枚举的段的开始时间,那就就可以算上这部分价值,比较取最大值
if(milk[i].s >= milk[j].e+r) dp[i] = max(dp[i],dp[j]+milk[i].v)


code:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
struct node{
    int s,e,v;
    bool operator < (const node &other)const{
        return e < other.e;
    }
}milk[1006];
int dp[1006];
int n,m,r;
int main(){
    cin >> n >> m >> r;
    for(int i = 1; i <= m; i++){
       cin >> milk[i].s >> milk[i].e >> milk[i].v;
    }
    milk[0].e = -r;
    milk[0].v = 0;
    sort(milk+1,milk+1+m);
    memset(dp,0,sizeof(dp));
    int maxv = 0;
    for(int i = 1; i <= m; i++){
        for(int j = 0; j < i; j++){
            if(milk[i].s >= milk[j].e + r){
                dp[i] = max(dp[i],dp[j]+milk[i].v);
            }
            maxv = max(maxv,dp[i]);
        }
    }
    cout << maxv << endl;
    return 0;
}


QT触摸屏开发:如何通过重写事件处理实现精准按键长按检测 本文针对QT触摸屏开发中按键长按检测不精准的常见问题,深入剖析了传统信号机制失效的原因,并提供了通过重写事件处理函数(event)的解决方案。文章详细介绍了创建自定义TouchButton类、直接处理QTouchEvent以实现可靠长按检测的完整步骤与代码示例,并分享了进阶优化与避坑指南,帮助开发者实现跨平台一致的精准交互。 阅读详情

相关推荐

竞赛无人机模块化开发实战:2023 TI电赛G题空地协同消防系统(飞控与视觉融合篇)

本文以2023年TI电赛G题为例,详细阐述了采用模块化开发思维构建空地协同智能消防系统的实战方法。文章重点拆解了无人机飞控二次开发、视觉识别与融合控制等核心模块,提供了硬件选型、代码实现与系统联调的完整指南,旨在帮助参赛者通过“搭积木”式编程高效完成复杂系统集成。

js777的博客 452

动态规划 (区间问题)

1、题目引入: Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her nextN(1 ≤N≤ 1,000,000) hours (conveniently labeled 0..N-1) so that she produces as much milk as possible. Farmer Jo...

weixin_52914088的博客 345

VS2019手动添加bits/stdc++.h全指南(附解决‘无法打开源文件‘错误)

本文详细介绍了在Visual Studio 2019中手动配置C++万能头文件bits/stdc++.h的完整方法,解决常见的'无法打开源文件'错误。通过分析GCC与MSVC编译器生态差异,提供了纯手动创建和MinGW移植两种可靠方案,并给出详细的步骤、常见错误排查及最佳实践建议,帮助开发者高效配置竞赛开发环境。

weixin_29011395的博客 545

Milking Time(dp)

【问题】 Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0…N-1) so tha...

qq_45949914的博客 329

【OpenCV-Python】图像的载入、显示和输出(imread()、imshow()、waitKey()、namedWindow()、imwrite())

图像的载入:imread()函数 imread()函数可以用来非常便捷地读取文件中的图片到Opencv中。这个函数一般需要两个参数: (1)载入图片的路径名。如果图像文件在工程文件夹下,可以直接用文件名读取,如“cat.jpg”,否则需要输入完整的访问路径,如“D:\\test\\lena.png”。这里还有几个tips: imread函数中,一个点代表省略当前文件夹路径,两个点则代表回...

M&Q的博客 1397

保姆级教程:用TI IWR6843雷达板跑通3D人体追踪demo(附CCS/UniFlash避坑指南)

本文提供了一份详尽的TI IWR6843毫米波雷达开发板3D人体追踪demo实现指南,涵盖开发环境搭建、工程导入编译、固件烧录及可视化工具配置全流程。特别针对CCS和UniFlash使用中的常见问题给出解决方案,帮助开发者快速掌握3D People Tracking技术应用。

weixin_29159441的博客 498

Milking Time (贪心+dp)

Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0..N-1) so that she...

点点滴滴 285

汽车OBD接口实战:如何用STM32读取CAN总线数据(附完整代码)

本文详细介绍了如何利用STM32微控制器通过汽车OBD接口读取CAN总线数据的完整实战方案。内容涵盖硬件连接(如OBD引脚定义与TJA1050收发器接线)、STM32的CAN外设初始化与滤波器配置,并深入解析OBD-II诊断协议,演示了如何请求和解析发动机转速、车速等关键数据。文末提供了构建稳定数据读取系统的代码框架与错误处理建议,为嵌入式开发者和汽车电子爱好者提供了从零到一的实践指南。

9q8w7e6r5的博客 296

POJ3616Milking Time题解动态规划DP

Milking TimeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2159 Accepted: 890<br />Description<br />Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,0

魔神翼 1618

保姆级教程:用NFS把群晖NAS的文件夹挂到Ubuntu 22.04上,实现文件无缝共享

本文提供了一份详细的教程,指导用户如何通过NFS协议将群晖NAS的文件夹挂载到Ubuntu 22.04系统上,实现文件的无缝共享。文章对比了NFS与SMB协议的性能差异,并提供了群晖端和Ubuntu端的配置指南、高级参数优化、自动挂载方案以及生产环境中的实战技巧,帮助用户提升文件共享效率和系统稳定性。

weixin_29213827的博客 405

【VS开发】【DSP开发】WinDriver简介(或介绍)

WinDriver for Windows简化并自动化了用户模式Windows设备驱动程序的开发,支持设备包括PCI / CardBus / ISA/ PCI-104 / PCMCIA * / PMC / PCI-X 和 CompactPCI,无需DDK或内核级编程知识。关于USB设备驱动开发,请参见WinDriver USB for Windows。   WinDriver包含一系列

ZhangPY的专栏 1474

【题解】Luogu P2889 [USACO07NOV]挤奶的时间Milking Time

Luogu P2889 [USACO07NOV]挤奶的时间Milking Time 题目描述 传送门Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤...

C@bMv7GRVt)Q 297

22、自动化地图制作与Pandas数据处理

本文介绍了在ArcGIS Pro中使用arcpy.mp模块进行自动化地图制作的关键技术,涵盖地图元素的访问、移动与文本修改,以及将布局批量导出为JPEG、PNG和PDF格式的方法。同时,文章深入探讨了Pandas在数据处理和地理空间分析中的应用,特别是Spatially Enabled DataFrames(SEDFs)的使用。通过综合案例展示了地图更新与数据清洗、分析的结合,提升了地图制作与数据处理的效率,为GIS自动化工作流提供了实用指南。

w8x9y0z1的博客 78

poj 3616 Milking Time ---DP(带权重的区间动态规划)

题目:http://poj.org/problem?id=3616 这题就是一个小小变形的带权重的任务调度问题 --interval scheduling-- 思路:首先按照每个区间的结束时间排序,再进行预处理:算出与每个区间相互兼容的最大区间下标保存在P数组里。 状态:dp[i]=max{ dp[i-1],dp[p[i]]+w[i] }  代码:1A #include #include

R_xiaozhu_Q的专栏 2646

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

POJ 3616 Milking Time DP(带权重的区间动态规划)

Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0…N-1)...

RPG_Zero的博客 473

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【POJ 3616】 Milking Time (动态规划dp)

 Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0..N-...

Xylon的博客 378

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

挑战练习题2.3动态规划 poj3616Milking Time dp

题目链接: http://poj.org/problem?id=3616 题意: 奶牛Bessie在0~N时间段产奶。农夫约翰有M个时间段可以挤奶,时间段f,t内Bessie能挤到的牛奶量e。奶牛产奶后需要休息R小时才能继续下一次产奶,求Bessie最大的挤奶量。 题解: 定义dp[i]表示第i个时间段挤奶能够得到的最大值,拆开来说,就是前面 i – 1个时间段任取0到i – 1个时...

weixin_30745641的博客 107

J - Milking Time POJ - 3616(dp动态规划)

Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0…N-1) so that she ...

starlet_kiss的博客 350

近期学习总结8

这段时间,因为一些事情,耽误了平时的学习目标,最近一直卡在状态方程上,感觉很无奈,不知道从何下手,心中有一股无力感,每次做题多少都会参考一下别人的思路或状态转移方程,但我会努力的去理解它。 一、近期做题总结 POJ3616Milking Time(题目我就不发了网上可以轻松找到) 题意给定一个时间间隔N,在这个时间间隔内有M段时间,给出这M段时间每段的工作量和开始终止时间,求N时间最大工作量,每段...

weixin_43466783的博客 193

poj3616 解题报告

poj 3616 Milking Time http://poj.org/problem?id=3616题目大意,farmer John 要给女主牛 挤奶了。挤奶时间 N (1 ≤ N ≤ 1,000,000) hours,注意Bessie进了一间黑心企业,每次挤奶休息完R (1 ≤ R ≤ N)hours后,又可以挤。然后farmer John 有M个时间段,开始时间s,结束时间e,一旦开始就不能

keysona的博客 1694

POJ 3616 Milking Time

Milking Time Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5507 Accepted: 2304 Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivi

小寒 427

poj 3616 Milking Time

dp题。 /* POJ: 3616 Milking Time */ #include #include #include #include #include #define M 1005 using namespace std; struct Interval { long long start, end; long long eff; bool

stormdpzh的专栏 847

POJ - 3616 Milking Time(DP+LIS)

DescriptionBessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0…N-1) so that she produces as much milk as possible.Farmer John

00后的博客 206

POJ 3616 Milking Time 挤奶问题,带权区间DP

题目链接:POJ 3616 Milking Time Milking Time Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4837   Accepted: 2034 Description Bessie is such a hard-

一蓑烟雨 6041

动态规划:POJ 3616 Milking Time

动态规划:POJ 3616 Milking Time #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cstdlib> using namespac...

豆子 139
上一篇: 第八届蓝桥杯c/c++B组决赛试题不完全题解
下一篇: Making the Grade POJ - 3666(DP+离散化)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值