当前位置:网站首页>上课作业(5)——#576. 饥饿的牛(hunger)
上课作业(5)——#576. 饥饿的牛(hunger)
2022-07-23 11:21:00 【xyc20120615】
目录
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;
}边栏推荐
- One minute rule for sequential disk access
- xml-xxe漏洞之Fake XML cookbook
- Start other independent programs through fmmonitoredprocess in unreal
- 在一个有序数组中查找具体的某个数字(二分查找or折半查找)
- 【攻防世界WEB】难度三星9分入门题(下):shrine、lottery
- day1
- Six ways of uniapp route jump
- The landing process of 800V high-voltage fast charging was accelerated, and Junsheng Electronics was designated for the 500million euro project
- 查找论文源代码
- C语言学习笔记
猜你喜欢

记一次SQL优化

深入理解L1、L2正则化

一个悄然崛起的国产软件,太强了!

重磅 | CertiK:2022年第二季度Web3.0行业安全报告发布(附PDF下载链接)

C语言经典例题-switch case语句转换日期格式

Guangzhou held a competition for quality and safety supervisors of agricultural products in the town and street

Application of ERP management system in equipment manufacturing enterprise management

C语言经典例题-逆序打印输入的两位数

后缀表达式(暑假每日一题 4)

【Pygame实战】飞机射击大作:宇宙激战一触即发...这款超经典的射击游戏也该拿出来重启了~
随机推荐
day1
(Zset)Redis底层是如何用跳表进行存储的
PHP code audit 4 - SQL injection vulnerability
老照片上色——DeOldify快速上手
Safe operation 7.22
什么是真正的 HTAP ?(二)挑战篇
后缀表达式(暑假每日一题 4)
C语言经典例题-贷款余额
Can multithreading optimize program performance?
数据治理浅析
[cloud native] install MySQL and redis services in the docker environment
地图附近名片流量主小程序开发
ClickHouse,让查询飞起来!!!
bug修改
C# 关闭当前电脑指令
BGP联邦实验
MySQL execution order
用rpm -e --nodeps进行批量删除
STL map属性
专访|开源之夏新星牛学蔚