题目大意:

木棍(好吧,承认确实做过这个题,嘎嘎)
有一堆木棍大约有n根,木棍的长度和重量都预先知道,这些木棍会在一个木工机械上一个接一个的处理,这需要一些时间,称为设置时间,为机械准备处理一根木头,这个设置时间跟清洁还有机械的工具和形状的改变有关系,木工机床安装时间如下:
(a)第一根木棍的设置时间是1 minute.
(b)正确加工处理一个长l重w的木棍后,如果下一根木头的长 l <= l' and w <= w'则不需要花费时间,否则将要花费1minute的设置时间。你需要找出来最小的花费时间。
解析,好吧这个实在是没有什么创意啊,直接K掉吧
AC
#include<stdio.h>
#include<algorithm>
using namespace std;
#define maxn 5005
#define INF 0xffffff struct stick
{
    int l, w;
}a[maxn], b[maxn]; bool cmp(stick n1, stick n2)
{
    if(n1.w != n2.w)return n1.w < n2.w;
    return n1.l < n2.l;
}
int Find(int n, stick p)
{
    int i, k=-1, MinLen=INF;
    for(i=0; i<n; i++)
    {
        if(p.l >= b[i].l && MinLen > p.l-b[i].l)
            k=i, MinLen = p.l-b[i].l;
    }
    return k;
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int i, n, k=0;
        scanf("%d",&n);
        for(i=0; i<n; i++)
            scanf("%d%d",&a[i].l,&a[i].w);         sort(a, a+n, cmp);         for(i=0; i<n; i++)
        {
            int ans =Find(k, a[i]);
            if(ans ==-1)
                ans = k++;
            b[ans]= a[i];
        }
        printf("%d\n", k);
    }
    return 0;

}

poj1065的更多相关文章

  1. 《挑战程序设计竞赛》2.3 动态规划-进阶 POJ1065 1631 3666 2392 2184(5)

    POJ1065: Description There is a pile of n wooden sticks. The length and weight of each stick are kno ...

  2. POJ1065 Area

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18499   Accepted: 5094 Description You ...

  3. Wooden Sticks [POJ1065] [DP]

    Description 有N根木棍等待处理.机器在处理第一根木棍时需要准备1分钟,此后遇到长宽都不大于前一根木棍的木棍就不需要时间准备,反之则需要1分钟重新准备.比如木棍按照(3,3).(1,3).( ...

  4. POJ1065 Wooden Sticks(贪心+动态规划——单调递减或递增序列)

    描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于 第i个处理的木棒,那么将不会耗费时间,否则 ...

  5. poj1065 Wooden Sticks[LIS or 贪心]

    地址戳这.N根木棍待处理,每根有个长x宽y,处理第一根花费1代价,之后当处理到的后一根比前一根长或者宽要大时都要重新花费1代价,否则不花费.求最小花费代价.多组数据,N<=5000 本来是奔着贪 ...

  6. POJ-1065 Wooden Sticks,排序+最长单减子序列!

                                                       Wooden Sticks 题意:有一台机器处理木材,最开始需要一分钟准备,如果后面处理的木材比前 ...

  7. POJ1065(Wooden Sticks)--贪心

    木棍 时间限制: 1000MS   内存限制: 10000K 提交总数: 27336   接受: 11857 描述 有一堆木棍.每根杆的长度和重量是预先已知的.这些木棍将由木工机器逐一加工.它需要一些 ...

  8. HDU-1051/POJ-1065 Wooden sticks 木棍子(动态规划 LIS 线型动归)

    嘤嘤嘤,实习半年多的小蒟蒻的第一篇博客(题解) 英文的: There is a pile of n wooden sticks. The length and weight of each stick ...

  9. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

随机推荐

  1. Oracle利用dbms_metadata.get_ddl查看DDL语句

    当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建 ...

  2. php100视频原始地址列表整理:

    php100视频原始地址列表整理: 教程名称 . 1:环境配置与代码调试 2:PHP的数据类型与源码调试 3:常用PHP运算类型介绍与应用 4: PHP条件语句介绍与应用 5:PHP循环语句的介绍与应 ...

  3. 怎样在thinkphp里面执行原生的sql语句

    $Model = new Model(); $sql = "select * from `order`"; $voList = $Model->query($sql); 只是 ...

  4. 【转】 UIView如何管理它的子视图

    原文:http://my.oschina.net/u/1984662/blog/293690 目录[-] Core Animation基础 改变视图的层 动画支持 视图坐标系统 边框.边界.和中心的关 ...

  5. 关于SQL配置管理器的服务无法启动的解决办法!

    由于各种问题的因素,导致SQL服务无法启动,然后去事件查看器里看了下,有两个关于SQL 的错误.分别是实例中master.mdf和master.ldf的文件系统拒绝访问! 为了赶作业,带着焦急的心情去 ...

  6. angular.js 简单的表达式

    <!doctype html> <html> <head> <meta charset ="utf-8"> <script s ...

  7. laravel5通过auth.attempt事件加入登陆验证码

    <?php namespace WangDong\Http\Controllers\Auth; use Illuminate\Http\Exception\HttpResponseExcepti ...

  8. phpcms(3) V9 常用函数 及 代码整理(转)

    转自http://www.cnblogs.com/Braveliu/p/5103918.html 常用函数 及 常用代码 总结如下 <;?php //转换字符串或者数组的编码 str_chars ...

  9. 判断JS类型

    (function (root, factory) { if (typeof define === 'function' && define.amd) { define([], fac ...

  10. jquery获取元素的所有宽高(包括内边距和外边距)

    width() - 返回元素的宽度.height() - 返回元素的高度.innerWidth() 方法返回元素的宽度(包括内边距).                    innerHeight() ...