POJ 1065 Wooden Sticks (排序)
来源:互联网 发布:英剧推荐知乎 编辑:程序博客网 时间:2024/06/05 02:59
题意:把树拿去加工,当下一个要加工的树的l,w都不比前一个小的时候,不花费设置时间。问加工这些树,总共要多少设置时间。
我猜的方法是把l排序,找w的不减序列有几个。但是把n==5000看成了50000,鄙视自己吧。到discuss看了之后,发现这种贪心是可以证明的:http://poj.org/showmessage?message_id=156611 好吧,我学的东西太少了。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <cmath>#include <stack>#include <map>#include <string>#define LL long long#define DB double#define SF scanf#define PF printf#define N 5009#define bug cout<<"bug"<<endl;using namespace std;struct nod{ int l,w; void get(){SF("%d%d",&l,&w);} bool operator<(const nod t)const { return l<t.l||(l==t.l&&w<t.w); }} re[N];int v[N];int n;int solve(){ memset(v,0,sizeof(v)); int ret=0; for(int i=0;i<n;i++) if(v[i]==0) { v[i] = 1; ret++; int k = re[i].w; for(int j=i+1;j<n;j++) if(v[j]==0) { if(re[j].w>=k) { k = re[j].w; v[j] = 1; } } } return ret;}int main(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif int cas; SF("%d",&cas); while(cas--) { SF("%d",&n); for(int i=0;i<n;i++) re[i].get(); sort(re,re+n); PF("%d\n",solve()); } return 0;}
- POJ 1065 Wooden Sticks (排序)
- POJ 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- POJ 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- POJ-1065-Wooden Sticks
- POJ 1065 Wooden Sticks
- POJ 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- POJ 1065:Wooden Sticks
- POJ 1065 Wooden Sticks
- POJ - 1065 Wooden Sticks
- POJ 1065:Wooden Sticks
- 可以直接拿来用的15个jQuery代码片段
- tree命令自动生成目录树
- HDU 2138 How many prime numbers(米勒拉宾素数测试算法)
- .net将Excel格式的xml导入到数据库
- block session
- POJ 1065 Wooden Sticks (排序)
- 数据库锁机制
- sendmail 配置SMTP服务器
- C++语法基础--复制控制--复制构造函数 ,赋值操作符 ,析构函数
- 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h
- Spring使用
- Shell脚本语法
- java map遍历
- win7+Powerpoint2007下设置演讲者视图,两步搞定