P1233 木棍加工
题目描述
一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的。棍子可以被一台机器一个接一个地加工。机器处理一根棍子之前需要准备时间。准备时间是这样定义的:
第一根棍子的准备时间为1分钟;
如果刚处理完长度为L,宽度为W的棍子,那么如果下一个棍子长度为Li,宽度为Wi,并且满足L>=Li,W>=Wi,这个棍子就不需要准备时间,否则需要1分钟的准备时间;
计算处理完n根棍子所需要的最短准备时间。比如,你有5根棍子,长度和宽度分别为(4, 9),(5, 2),(2, 1),(3, 5),(1, 4),最短准备时间为2(按(4, 9)、(3, 5)、(1, 4)、(5, 2)、(2, 1)的次序进行加工)。
输入格式
第一行是一个整数n(n<=5000),第2行是2n个整数,分别是L1,W1,L2,w2,…,Ln,Wn。L和W的值均不超过10000,相邻两数之间用空格分开。
输出格式
仅一行,一个整数,所需要的最短准备时间。
输入输出样例
输入 #1复制
5 4 9 5 2 2 1 3 5 1 4
输出 #1复制
2
思路:洛谷上标签是动态规划,但是我用的是贪心,排个序,先考虑l,再考虑w,最终答案只需要考虑w就行了(此时l已经满足条件),从二维变一维,最后变成了导弹拦截第二问,贪心即可。
#include<bits/stdc++.h>
using namespace std;
const int N=5005;
int n,dp[N],vis[N];
struct node{int l,w;
}a[N];
bool cmp(const node &a, const node &b){if(a.l==b.l){return a.w>b.w;}return a.l>b.l;
}
int main(){cin>>n;for(int i=1; i<=n; i++){cin>>a[i].l>>a[i].w;} sort(a+1,a+1+n,cmp);int s=0,ans=0,m;while(s<n){ans++;m=0x7fffffff;for(int i=1; i<=n; i++){if(vis[i]==0&&a[i].w<=m){m=a[i].w;vis[i]=1;s++;}}}cout<<ans<<endl;return 0;
}
P1233 木棍加工相关推荐
- 洛谷P1233 木棍加工
题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间为1分钟: 如果刚处理 ...
- 动态规划--from zpz
版权声明:copy from zpz,我可能要修改 https://blog.csdn.net/qq_40828060/article/details/83064425 文章目录 前言 记忆化搜索 动 ...
- 动态规划,且学且放弃
文章目录 前言 记忆化搜索 动态规划的基本解题思路 背包问题 01背包 (待处理)P1489 猫狗大战 01背包的空间优化问题 P1048 采药 P1510 精卫填海 P1566 加等式 P1504 ...
- 机试备考——刷题攻略
为了准备保研的机试,在学习完常见算法后,开始了刷题!看了一些大佬的心得分享,总结了一下. 题目类型分为: 数组.字符串.高精度计算.排序.递推.递归.搜索与回溯.贪心算法.分治算法.动态规 ...
- 第13期:动态规划-dp题集
1 P7972 [KSN2021] Self Permutation //[动态规划1]动态规划的引入 2 P1216 [USACO1.5][IOI1994]数字三角形 Number Triangle ...
- 算法模板:动态规划之线性DP【沈七】
算法模板:动态规划之线性DP 前言 线性DP 数字三角形模型 摘花生 最小路径和 不同路径模型 不同路径(有障碍) 过河卒 (综合应用) 最长上升子序列模型 木棍加工 导弹拦截 完结散花 参考文献 前 ...
- 洛谷--橙色百道DP总结
最近刷完了洛谷橙色DP大约一百道,算是发现了一些套路,就部分题目做一些总结. 大概分为三类 第一类,九大背包及其衍生 第二类,经典DP模型,如LCS,LIS等 第三类,实际问题背景的普通,环形,树上D ...
- 2022-2028年中国数字化档案加工行业市场深度分析及发展策略分析报告
[报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国数字化档案加工行业市场行业相关概述.中 ...
- 批量 材质 调整_SMT打样小批量加工中的助焊剂是什么
一般SMT打样小批量加工的焊接过程中也有很多值得注意的地方,比如说被焊接金属表面和焊盘表面都是需要仔细清理干净的,否则可能会影响到SMT贴片的焊接效果.助焊剂(flux):在焊接工艺中能帮助和促进焊接 ...
最新文章
- msdn画圆弧函数_复变函数与积分变换 简明笔记(八):保形映射(共形映射)
- EOSIO 转帐详解
- python3精要(31)-生成器函数yield
- 解决开机POST提示Strike tne F1 key to continue,F2 to run the setup utility
- 知乎热议:如果不发论文,我们用什么证明自己的科研实力?
- numpy 加速 矩阵相加_图解入门 NumPy !
- 在服务器上使用 gradle 打包 android 源码
- 「leetcode」104559:求树的最大深度
- ICMP协议与ping命令
- 插上移动硬盘计算机没反应,移动硬盘插电脑没反应怎么办解决教程
- 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合
- 亚马逊云服务(AWS)机器学习服务Amazon SageMaker发力中国
- 快速应对面试--分门别类--7.栈和队列
- 万字长文告诉你喜茶为什么能成功
- 数组的参数必须是 ByRef
- c语言中怎么对圆环填充颜色,ps里怎么把圆环填充两种颜色
- typescript 中 public private protect 区别
- Error in DESeqDataSet(se, design = design, ignoreRank) : some values in assay are not integers
- c语言彩票随机数7位数,随机生成7个不重复的彩票号码 (33选7)
- 在Archlinux下安装Xilinx ISE12.3以及Digilent Adept的使用