上课作业(5)——#576. 饥饿的牛(hunger)
目录
Description
Format
Input
Output
Samples
输入数据 1
输出数据 1
Limitation
题解:
状态转移方程:
程序:
Description
牛在饲料槽前排好了队。饲料槽依次用 1 到 N(1≤N≤2000) 编号。每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料。
约翰提供 B 个区间的清单。一个区间是一对整数 start−end(1≤start≤end≤N),表示一些连续的饲料槽,比如 1-3,7-8,3-4 等等。牛可以任意选择区间,但是牛选择的区间不能有重叠。
当然,牛希望自己能够吃得越多越好。给出一些区间,帮助这只牛找一些区间,使它能吃到最多的东西。
在上面的例子中,1-3 和 3-4 是重叠的;聪明的牛选择 {1-3,7-8},这样可以吃到 5 个槽里的东西。
Format
Input
第 1 行,整数 B(1≤B≤1000)。
第 2∼B+1 行,每行两个整数,表示一个区间,较小的端点在前面。
Output
仅一个整数,表示最多能吃到多少个槽里的食物。
Samples
输入数据 1
3
1 3
7 8
3 4
输出数据 1
5
Limitation
1s, 1024KiB for each test case
题解:
类似于演讲大厅安排,思路也差不多,就是开个结构体变为0/1背包,循环时注意要从下标位0开始遍历。
状态转移方程:
dp[j]=max(dp[j],dp[a[i].s-1]+a[i].h);//状态转移方程
程序:
#include <bits/stdc++.h>
using namespace std;
int n,dp[2010];
struct H{int s,e,h;//s是区间的第一个食槽下标,e是区间的最后一个食槽下标,h是区间的食槽数
}a[2010];
bool cmp(H x,H y){//排序判断条件return x.e<y.e;
}
int main(){cin>>n;for(int i=0;i<n;i++){//输入区间的第一个食槽下标和区间的最后一个食槽下标并计算出区间的食槽数cin>>a[i].s>>a[i].e;a[i].h=a[i].e-a[i].s+1;}sort(a,a+n,cmp);//排序for(int i=0;i<n;i++){//遍历每个食槽区间for(int j=a[n-1].e;j>=a[i].e;j--)dp[j]=max(dp[j],dp[a[i].s-1]+a[i].h);//状态转移方程 }cout<<dp[a[n-1].e];return 0;
}
上课作业(5)——#576. 饥饿的牛(hunger)相关推荐
- AcWing 4908. 饥饿的牛
贝茜是一头饥饿的牛. 每天晚上,如果牛棚中还有干草的话,贝茜都会吃掉其中的一捆. 初始时,牛棚中没有干草. 为了让贝茜不被饿死,农夫约翰制定了 N个给贝茜送干草的计划. 其中第 i个计划是在第 di ...
- java上课作业(第三次)
一)请依据代码: 的输出结果,自行总结Java字段初始化的规律. 源代码: class InitializeBlockClass { { field=200; } public int field=1 ...
- 【专题】经典DP问题(上)
1. 对抗赛(compete) 题目描述 程序设计对抗赛设有 N N N( 0 < N < 50 0\lt N\lt 50 0<N<50的整数) 个价值互不相同的奖品,每个奖品 ...
- java语言编写计算器_第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...
- CS231n公开课系列1_视频+课件+作业下载+GitHub批量下载工具
主要内容: PPT download notes download assignment download GitHub批量下载工具 CS231n是斯坦福大学教授针对使用深度学习处理图像(计算机视觉处 ...
- python只会基础能做什么?---你可以做一个文字游戏!
大一接触的python,然后被她的简洁优雅所吸引,这是我拿python做的第一个游戏,也是最不像游戏的游戏,当时刚刚学会一点python基础语法就迫不及待地写下了这款游戏,总共三百多行代码,既没有用到 ...
- Hi, Apple实习生
Hi, Apple实习生 上海天气渐凉,前几天打开邮箱看到一封邮件,最美的九月,或许是天意,需在这季节里向Apple说一声再见. 至今仍记得年初收到offer时的激动心情,半年似一部电影(与老师的游击 ...
- [BZOJ] 1606: [Usaco2008 Dec]Hay For Sale 购买干草
1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1335 Solved: ...
- ip别名删除第一个,其余别名就自动删除的分析
上课作业有一个脚本,是批量添加ip别名,批量删除ip别名,脚本如下 [root@loadblance scripts]# cat ip.sh #!/bin/bash function up {for ...
- python小课堂28_python学习28——课后练习
# 1.练习上课作业讲解的面向对象代码,明天默写 # 2.基于上课作业讲解的面向对象代码,扩写Student类 # 3.加入序列化与反序列化操作 # 4.对象之间的关联采用id号 # 5.可以通过id ...
最新文章
- 深度学习实现场景字符识别模型|代码干货
- 多agv系统调度的MATLAB仿真
- 修改vs17中的cordova模板
- [小才能]防备误删文件
- ubuntu 下LAMP服务器环境搭建
- 起售价仅7699元!全新折叠旗舰OPPO Find N发布
- 腾讯回应多闪弹窗事件;京东要求员工梳理亲戚同学关系;雷军董明珠十亿赌局胜负已定 | 极客头条...
- 星球大战telnet_重制星球大战:第四集(1977)
- PMP考试难度大吗?
- 元进Python(3)---如何实现IP子网掩码计算器功能?
- 教程 - 【超详细】从零开始部署网站——阿里云主机CentOS系统
- 【情感分析:挖掘观点、情感和情绪】读书笔记-01
- 企查查app sign算法破解(完结)
- 关于新光源建设的一些想法
- Github 怎么用?(一)
- hdu4416——后缀自动机
- 4个图片无损压缩工具,快速批量压缩图片,图片高清不糊
- 济南2022年全面实行电子劳动合同,爱签电子合同为HR赋能增效
- 腾讯地图初始化以及解析和逆解析
- 江西师范大学计算机专硕导师,江西师范大学研究生助研岗位聘任名单.doc