POJ1065---Wooden Sticks
来源:互联网 发布:淘宝上卖的假索尼电视 编辑:程序博客网 时间:2024/05/19 09:12
题目大意:给出n根木棒,每个木棒都有自己的长度和重量,求不下降子序列的最小个数,后一个木棒的长度和重量都要大于等于前一个
分析:贪心+动态规划
代码:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct stick{ int l, w;};stick c[5005];int use[5005], ans;bool cmp(stick i, stick j) { if(i.l == j.l) return i.w < j.w; else return i.l < j.l;}int main() { int kase; scanf("%d", &kase); while(kase--) { int n; scanf("%d", &n); for(int i = 0; i < n; i++) scanf("%d%d", &c[i].l, &c[i].w); sort(c, c+n, cmp); //先按长度进行排序,若相等,重量小的排前面 ans = 0; memset(use, 0, sizeof(use)); for(int i = 0; i < n; i++) { if(!use[i]) { stick last; last.w = c[i].w; for(int j = i + 1; j < n; j++) { if(!use[j] && last.w <= c[j].w) { //由于长度已经排序好,只需判断后一个木棒的重量以及是否使用过 use[j] = 1; last.w = c[j].w; } } ans++; } } printf("%d\n", ans); } return 0;}
0 0
- poj1065 Wooden Sticks
- poj1065 Wooden Sticks
- poj1065 Wooden Sticks 贪心
- POJ1065 Wooden Sticks
- poj1065 Wooden Sticks
- poj1065 Wooden Sticks
- poj1065 wooden sticks
- POJ1065---Wooden Sticks
- poj1065 Wooden Sticks
- poj1065 wooden sticks
- POJ1065 Wooden Sticks(Greedy)
- POJ1065-Wooden Sticks
- POJ1065 Wooden Sticks
- POJ1065 &HDOJ1051 &AOJ224 Wooden Sticks
- POJ1065 - Wooden Sticks - 贪心算法
- POJ1065 Wooden Sticks(贪心||DP)
- 数据结构set:POJ1065--Wooden Sticks
- poj1065 Wooden Sticks 贪心,提供测试数据
- UVa 11362 - Phone List
- html学习记录1
- mark
- 3.2 Piecewise Linear Interpolation(乱写的)
- hadoop学习(二)-----配置hadoop单机伪分布式模式
- POJ1065---Wooden Sticks
- 排序算法--从头说12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用
- eclipse创建android项目出现error libz.so.1: cannot open shared object file:No such file or directory
- c++_ch02_01
- 面试经验及题目分享
- Quartz.NET学习系列
- Cocos2dxActivity cannot be resolved to a type解决方案,Cocos2d-x 3.4
- 学习KNN算法体会和总结
- 如何获取最新的EI期刊杂志目录