题目描述

一堆木头棍子共有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 木棍加工相关推荐

  1. 洛谷P1233 木棍加工

    题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间为1分钟: 如果刚处理 ...

  2. 动态规划--from zpz

    版权声明:copy from zpz,我可能要修改 https://blog.csdn.net/qq_40828060/article/details/83064425 文章目录 前言 记忆化搜索 动 ...

  3. 动态规划,且学且放弃

    文章目录 前言 记忆化搜索 动态规划的基本解题思路 背包问题 01背包 (待处理)P1489 猫狗大战 01背包的空间优化问题 P1048 采药 P1510 精卫填海 P1566 加等式 P1504 ...

  4. 机试备考——刷题攻略

      为了准备保研的机试,在学习完常见算法后,开始了刷题!看了一些大佬的心得分享,总结了一下.   题目类型分为:   数组.字符串.高精度计算.排序.递推.递归.搜索与回溯.贪心算法.分治算法.动态规 ...

  5. 第13期:动态规划-dp题集

    1 P7972 [KSN2021] Self Permutation //[动态规划1]动态规划的引入 2 P1216 [USACO1.5][IOI1994]数字三角形 Number Triangle ...

  6. 算法模板:动态规划之线性DP【沈七】

    算法模板:动态规划之线性DP 前言 线性DP 数字三角形模型 摘花生 最小路径和 不同路径模型 不同路径(有障碍) 过河卒 (综合应用) 最长上升子序列模型 木棍加工 导弹拦截 完结散花 参考文献 前 ...

  7. 洛谷--橙色百道DP总结

    最近刷完了洛谷橙色DP大约一百道,算是发现了一些套路,就部分题目做一些总结. 大概分为三类 第一类,九大背包及其衍生 第二类,经典DP模型,如LCS,LIS等 第三类,实际问题背景的普通,环形,树上D ...

  8. 2022-2028年中国数字化档案加工行业市场深度分析及发展策略分析报告

    [报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国数字化档案加工行业市场行业相关概述.中 ...

  9. 批量 材质 调整_SMT打样小批量加工中的助焊剂是什么

    一般SMT打样小批量加工的焊接过程中也有很多值得注意的地方,比如说被焊接金属表面和焊盘表面都是需要仔细清理干净的,否则可能会影响到SMT贴片的焊接效果.助焊剂(flux):在焊接工艺中能帮助和促进焊接 ...

最新文章

  1. msdn画圆弧函数_复变函数与积分变换 简明笔记(八):保形映射(共形映射)
  2. EOSIO 转帐详解
  3. python3精要(31)-生成器函数yield
  4. 解决开机POST提示Strike tne F1 key to continue,F2 to run the setup utility
  5. 知乎热议:如果不发论文,我们用什么证明自己的科研实力?
  6. numpy 加速 矩阵相加_图解入门 NumPy !
  7. 在服务器上使用 gradle 打包 android 源码
  8. 「leetcode」104559:求树的最大深度
  9. ICMP协议与ping命令
  10. 插上移动硬盘计算机没反应,移动硬盘插电脑没反应怎么办解决教程
  11. 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合
  12. 亚马逊云服务(AWS)机器学习服务Amazon SageMaker发力中国
  13. 快速应对面试--分门别类--7.栈和队列
  14. 万字长文告诉你喜茶为什么能成功
  15. 数组的参数必须是 ByRef
  16. c语言中怎么对圆环填充颜色,ps里怎么把圆环填充两种颜色
  17. typescript 中 public private protect 区别
  18. Error in DESeqDataSet(se, design = design, ignoreRank) : some values in assay are not integers
  19. c语言彩票随机数7位数,随机生成7个不重复的彩票号码 (33选7)
  20. 在Archlinux下安装Xilinx ISE12.3以及Digilent Adept的使用

热门文章

  1. C语言中的与、或、非
  2. 如何收看2020年夏季东京奥运会?
  3. 无极性电容和有极性电容的爆炸
  4. idea如何设置代理实现管理突破呢
  5. WEB 期末项目 小黑帽书屋
  6. Unity DOTS简明教程
  7. 阿里云centos6静默安装oracle11G
  8. 跟着无羡学python第一天
  9. LeetCode刷题(43)~汉明距离【异或+布赖恩·克尼根算法】
  10. 程序员必知的编程4大祖师爷,C语言之父堪称编程界的牛顿!