POJ 1065 Wooden Sticks 贪心
来源:互联网 发布:凌虚剑淘宝 编辑:程序博客网 时间:2024/05/16 11:22
题目链接:http://poj.org/problem?id=1065
题目大意:需加工n个木棍,每个木棍有长度L和重量W两个参数,机器处理第一个木棍 用时1分钟,如果当前处理的木棍为L和W,之后处理的木棍L' 和W' 满足:L <= L' 并且 W <= W' ,则不需要额外的时间,否则,需要加时1分钟设置。
题目解析:贪心策略,将木棍按照长度L从小到大排序,然后通过枚举每个木棍的重量,判断W有多少个上升的序列,即为最终所求。时间复杂度为O(n*n)。
程序源码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MAXN = 5010;struct Node { int l; int w; friend bool operator < (Node a, Node b) { if (a.l != b.l) return a.l < b.l; return a.w < b.w; }}s[MAXN];bool flag[MAXN];int main() { int t, n; cin >> t; while (t--) { cin >> n; for (int i = 1; i <= n; i++) { cin >> s[i].l >> s[i].w; } sort(s+1, s+n+1); memset(flag, 0, sizeof(flag)); int ans = 0; for (int j = 1; j <= n; j++){ if (!flag[j]) { flag[j] = true; int z = j; for (int i = z+1; i <= n; i++) { if (s[i].w >= s[z].w && (!flag[i])) { z = i; flag[i] = true; } } ans++; } } cout << ans << endl; } return 0;}
0 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 1065Wooden Sticks (简单的贪心)
- poj 1065 Wooden Sticks(贪心算法)
- poj 1065 Wooden Sticks (贪心)
- POJ 1065-Wooden Sticks(贪心+暴力)
- Poj 1065 Wooden Sticks【贪心+LIS?】
- poj 1065 Wooden Sticks贪心水过
- Poj 1065 Wooden Sticks【贪心+LIS?】
- POJ 1065 && HDU 1051 Wooden Sticks 贪心
- POJ 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- poj 1065 Wooden Sticks
- 解决”不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接“问题
- 新产品开发的项目管理
- 转载:使用Web网站编写Swift代码
- Android Service 全面总结
- Hashset实现原理
- POJ 1065 Wooden Sticks 贪心
- Android程序完全退出的三种方法
- Java GC基本算法
- HDU 1281 棋盘游戏 (二分图+枚举每点是否为匹配关键)
- 日报2015/10/14(极客学院安卓视频学习)
- 操作RPM和DEB包的PYTHON模块
- 阿里云云服务器硬盘分区及挂载
- 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。
- LINUX下通过C++访问SQLSERVER数据库