nyoj 236 心急的C小加(偏序集问题)
描述
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小加(偏序集问题)相关推荐
- NYOJ 236 心急的C小加
心急的C小加 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间 ...
- NYOJ - 心急的C小加
心急的C小加 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位 ...
- NYOJ 409 郁闷的C小加(三)
郁闷的C小加(三) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考"郁闷的C小加(一)&quo ...
- NYOJ 267 郁闷的C小加(二)
郁闷的C小加(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考"郁闷的C小加(一)&quo ...
- NYOJ 257 郁闷的C小加(一)
郁闷的C小加(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说)操 ...
- 心急的C小加《贪心》
题目http://115.159.40.116/contest_show.php?cid=66#problem/B 其实这个题就是求有多少个子序列: #include<stdio.h> # ...
- NYOJ_236_心急的C小加
http://acm.nyist.net/JudgeOnline/problem.php?pid=236 这道题,华丽丽的坑了我六个小时的时间. 参考了一下其他的blog,发现原来用的diworth定 ...
- 贪心算法之贪心的c小加问题
NYOJ-236 心急的C小加 心急的C小加 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一 ...
- NYOJ409 郁闷的c小加三
传送门:http://acm.nyist.net/JudgeOnline/problem.php?pid=409 NYOJ郁闷的c小加一.二.三都是关于表达式转换及求值的,主要涉及栈知识点.郁闷的c小 ...
最新文章
- Linux命令之more
- hdu 5273 Dylans loves sequence 逆序数简单递推
- 程序员和产品经理的恩怨情仇 | 每日趣闻
- md5加密算法原理及其GO语言实现
- “false”类型转换:string类型转boolean - 代码篇
- Kotlin 循环控制(七)
- shell mysql备份脚本_mysql备份脚本(shell)
- visio绘制网络拓扑图要求_国产操作系统也能用的国产图表绘制软件,替代Visio就用它了...
- Android学习——LitePal源码分析
- 适合户外显示中玩耍的游戏
- php源码怎样打包APP_APP在线打包封装生成源码
- 【线性代数】20 基变换,基变换公式,坐标变换公式
- OV7670摄像头模块资料
- Python 玩转数据 8 - Pandas Indexing and Slicing
- 基于 python 的银行信贷风险评估
- 利用js,HTML,css实现一个简单的指针时钟
- Python.translate(table).maketrans(‘str1‘,‘str2‘)字符串翻译
- PPT精美模板免费下载网站 高清壁纸免费下载网站 在线PS(Photoshop在线网站)网站 分享
- 线性回归、岭回归、逻辑回归、聚类
- 小功能⭐️Untiy组合键检测
热门文章
- python讲师陈越_陈越-精湛课程设计与开发-诺达名师
- 图书馆管理系统(简易版)
- 最小角回归(Least Angle Regression)
- java存储json到mongo_使用spring在mongodb中存储JSON模式
- 四川一度智信:电商网店评分提升技巧
- InstaSPIN - FOC 无感FOC技术
- OpenGL红宝书正序解读(一)
- python3 tkinter详解_详解python3中tkinter知识点
- 汇总印制电路板设计经验
- 看完这篇AI算法和笔记,让面试官刮目相看没问题了 | 基于深度学习和传统算法的人体姿态估计...