描述

C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗?

输入

第一行是一个整数T(1<T<1500),表示输入数据一共有T组。
每组测试数据的第一行是一个整数N(1<=N<=5000),表示有N个木棒。接下来的一行分别输入N个木棒的L,W(0 < L ,W <= 10000),用一个空格隔开,分别表示木棒的长度和质量。

输出

处理这些木棒的最短时间。

样例输入

3
5
4 9 5 2 2 1 3 5 1 4
3
2 2 1 1 2 2
3
1 3 2 2 3 1 

样例输出

2
1
3

思路:我想的是既然是求最小时间那就可以转化成求最小上升序列数,所以,排个序遍历判断一下。然后发现不能以长度为优先条件排,要用重量。然后这东西居然是一个定理,叫Dilworth定理:https://blog.csdn.net/xuzengqiang/article/details/7266034

代码如下:

#include<iostream>
#include<cstring>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct node{int x;int y;
}p[100005];
int cmp(node a,node b)
{return a.x==b.x?a.y<b.y:a.x<b.x;
}
int main()
{int t,n;scanf("%d",&t);while(t--){scanf("%d",&n);int a[n],i,j,k;memset(a,0,sizeof(a));for(i=0;i<n;i++)scanf("%d %d",&p[i].x,&p[i].y);sort(p,p+n,cmp);k=0;a[k]=p[0].y;for(i=1;i<n;i++){for(j=0;j<=k;j++){if(p[i].y>=a[j])//实现求最少的上升序列数 {a[j]=p[i].y;break;}}if(j>k) a[++k]=p[i].y;}printf("%d\n",k+1);}return 0;
}

nyoj 236 心急的C小加(偏序集问题)相关推荐

  1. NYOJ 236 心急的C小加

    心急的C小加 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间 ...

  2. NYOJ - 心急的C小加

    心急的C小加 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位 ...

  3. NYOJ 409 郁闷的C小加(三)

    郁闷的C小加(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考"郁闷的C小加(一)&quo ...

  4. NYOJ 267 郁闷的C小加(二)

    郁闷的C小加(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考"郁闷的C小加(一)&quo ...

  5. NYOJ 257 郁闷的C小加(一)

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说)操 ...

  6. 心急的C小加《贪心》

    题目http://115.159.40.116/contest_show.php?cid=66#problem/B 其实这个题就是求有多少个子序列: #include<stdio.h> # ...

  7. NYOJ_236_心急的C小加

    http://acm.nyist.net/JudgeOnline/problem.php?pid=236 这道题,华丽丽的坑了我六个小时的时间. 参考了一下其他的blog,发现原来用的diworth定 ...

  8. 贪心算法之贪心的c小加问题

    NYOJ-236 心急的C小加 心急的C小加 时间限制: 1000 ms  |           内存限制: 65535 KB 难度: 4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一 ...

  9. NYOJ409 郁闷的c小加三

    传送门:http://acm.nyist.net/JudgeOnline/problem.php?pid=409 NYOJ郁闷的c小加一.二.三都是关于表达式转换及求值的,主要涉及栈知识点.郁闷的c小 ...

最新文章

  1. Linux命令之more
  2. hdu 5273 Dylans loves sequence 逆序数简单递推
  3. 程序员和产品经理的恩怨情仇 | 每日趣闻
  4. md5加密算法原理及其GO语言实现
  5. “false”类型转换:string类型转boolean - 代码篇
  6. Kotlin 循环控制(七)
  7. shell mysql备份脚本_mysql备份脚本(shell)
  8. visio绘制网络拓扑图要求_国产操作系统也能用的国产图表绘制软件,替代Visio就用它了...
  9. Android学习——LitePal源码分析
  10. 适合户外显示中玩耍的游戏
  11. php源码怎样打包APP_APP在线打包封装生成源码
  12. 【线性代数】20 基变换,基变换公式,坐标变换公式
  13. OV7670摄像头模块资料
  14. Python 玩转数据 8 - Pandas Indexing and Slicing
  15. 基于 python 的银行信贷风险评估
  16. 利用js,HTML,css实现一个简单的指针时钟
  17. Python.translate(table).maketrans(‘str1‘,‘str2‘)字符串翻译
  18. PPT精美模板免费下载网站 高清壁纸免费下载网站 在线PS(Photoshop在线网站)网站 分享
  19. 线性回归、岭回归、逻辑回归、聚类
  20. 小功能⭐️Untiy组合键检测

热门文章

  1. python讲师陈越_陈越-精湛课程设计与开发-诺达名师
  2. 图书馆管理系统(简易版)
  3. 最小角回归(Least Angle Regression)
  4. java存储json到mongo_使用spring在mongodb中存储JSON模式
  5. 四川一度智信:电商网店评分提升技巧
  6. InstaSPIN - FOC 无感FOC技术
  7. OpenGL红宝书正序解读(一)
  8. python3 tkinter详解_详解python3中tkinter知识点
  9. 汇总印制电路板设计经验
  10. 看完这篇AI算法和笔记,让面试官刮目相看没问题了 | 基于深度学习和传统算法的人体姿态估计...