本题一看就知道是最长不减序列了,一想就以为是使用dp攻克了。

只是那是个错误的思路。

我就动了半天没动出来。然后看了看别人是能够使用dp的,只是那个比較难证明其正确性,而其速度也不快。故此并非非常好的解决方法。

所以我就直接硬算。硬模拟选择出非减子序列,选完就出答案了。

思路:

1 依照长度排序

2 依照不减原则选择重量,选一个,消灭一个。

最后消灭完了,就处理完成,答案就自然出来了。

原来是一道披着dp的外套的模拟题啊!一道伪装成难题的简单题。

代码也能够写的非常简洁:

  1. #include <stdio.h>
  2. #include <vector>
  3. #include <string.h>
  4. #include <algorithm>
  5. #include <iostream>
  6. #include <string>
  7. #include <limits.h>
  8. #include <stack>
  9. #include <queue>
  10. #include <set>
  11. #include <map>
  12. using namespace std;
  13. int N;
  14. const int MAX_N = 5001;
  15. pair<int, int> arr[MAX_N];
  16.  
  17. int calIncrese()
  18. {
  19. int ans = 0;
  20. sort(arr, arr+N);
  21. for (int i = 0; i < N; i++)
  22. {
  23. if (arr[i].second == INT_MIN) continue;
  24. int wei = arr[i].second;
  25. ans++;
  26. for (int j = i+1; j < N; j++)
  27. {
  28. if (arr[j].second >= wei)
  29. wei = arr[j].second, arr[j].second = INT_MIN;
  30. }
  31. }
  32. return ans;
  33. }
  34.  
  35. int main()
  36. {
  37. int T;
  38. scanf("%d", &T);
  39. while (T--)
  40. {
  41. scanf("%d", &N);
  42. for (int i = 0; i < N; i++)
  43. {
  44. scanf("%d %d", &arr[i].first, &arr[i].second);
  45. }
  46. printf("%d\n", calIncrese());
  47. }
  48. return 0;
  49. }

HDU 1051 Wooden Sticks 贪心题解的更多相关文章

  1. HDU 1051 Wooden Sticks (贪心)

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  2. HDU 1051 Wooden Sticks 贪心||DP

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. HDU - 1051 Wooden Sticks 贪心 动态规划

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)    ...

  4. hdu 1051 wooden sticks (贪心+巧妙转化)

    #include <iostream>#include<stdio.h>#include<cmath>#include<algorithm>using ...

  5. hdu 1051:Wooden Sticks(水题,贪心)

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  6. HDOJ 1051. Wooden Sticks 贪心 结构体排序

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  7. HDOJ.1051 Wooden Sticks (贪心)

    Wooden Sticks 点我挑战题目 题意分析 给出T组数据,每组数据有n对数,分别代表每个木棍的长度l和重量w.第一个木棍加工需要1min的准备准备时间,对于刚刚经加工过的木棍,如果接下来的木棍 ...

  8. HDU 1051 Wooden Sticks 造木棍【贪心】

    题目链接>>> 转载于:https://www.cnblogs.com/Action-/archive/2012/07/03/2574800.html  题目大意: 给n根木棍的长度 ...

  9. HDU 1051 Wooden Sticks

    题意: 有 n 根木棒,长度和质量都已经知道,需要一个机器一根一根地处理这些木棒. 该机器在加工过程中需要一定的准备时间,是用于清洗机器,调整工具和模板的. 机器需要的准备时间如下: 1.第一根需要1 ...

随机推荐

  1. Zed Shaw:程序员的常见健康问题

    Zed Shaw:程序员的常见健康问题 原文作者Zed Shaws是一位作家.软件开发人员.音乐人(下文中提到吉他手),于2010年发布<Learn Python The Hard Way> ...

  2. eureka 注册中心

    1.eureka版本更新后,pom依赖名称变化 v1.2.7spring-cloud-starter-eureka-server v2.0.0spring-cloud-starter-netflix- ...

  3. OracleService類

    using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...

  4. CAD使用SetxDataDouble写数据(com接口)

    主要用到函数说明: MxDrawEntity::SetxDataDouble 写一个Double扩展数据,详细说明如下: 参数 说明 [in] BSTR val 字符串值 szAppName 扩展数据 ...

  5. DIV可编辑后,与限制输入及光标偏移的纠葛

    前言 最近在弄个人的网站,偶然间发现DIV可以设置编辑模式,之前设计的方案在此功能上需要限制输入的长度.网上搜索了一波,综合搜索的结果,考虑使用的监听事件有:keydown .textInput .i ...

  6. 模板BSGS(SDOI2011计算器) 模板EXBSGS

    BSGS和EXBSGS是OI中用于解决A^xΞB(mod C)的常用算法. 1.BSGS BSGS用于A,C互质的情况. 令m=sqrt(C),此时x可表示为i*m+j. 式中i和j都<=sqr ...

  7. ssm 使用中的一些问题

    1.问题:[org.mybatis.spring.SqlSessionUtils] - Creating a new SqlSession [org.mybatis.spring.SqlSession ...

  8. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  9. Laravel核心解读 -- 扩展用户认证系统

    扩展用户认证系统 上一节我们介绍了Laravel Auth系统实现的一些细节知道了Laravel是如何应用看守器和用户提供器来进行用户认证的,但是针对我们自己开发的项目或多或少地我们都会需要在自带的看 ...

  10. 用element-ui的走马灯carousel轻松实现自适应全屏banner图

    写在前面:网站轮播图建议使用swiper组件,非常方便快捷.vue轮播图插件之vue-awesome-swiper 接手一个项目,轮播图是用element-ui的carousel实现的,看起来效果还不 ...