POJ1065

POJ 1065-Wooden Sticks 贪心问题 <br />题目来源: http://acm.pku.edu.cn/JudgeOnline/problem?id=1065<br /> <br /> <br />解题报告: <br /> <br />本题采用贪心算法, 先从一堆sticks中找到长度最小的stick, 对长度相等的, 找到weight最小的,  找到后, 设长度为l, 重量为w, 然后, 从剩下的sticks中找到长度、重量都大于等于l和w的sticks中长度及重量最小的stick,再依次找下去,如果不存在,则就直接找长度、重量最小的sti 阅读详情

显然这是一个要寻找所给的木棍经过任意排序后最少能分成多少个不下降子序列的问题。但是因为有两个维度,因此很难做。我们可以先按一个键值进行从小到大排序,然后在剩下的序列中再寻找不下降的子序列。这个可以根据diworth定理在nlogn的时间内完成。考虑到lower_bound的查找特性,我们不妨从大到小排列然后再查找(也就是找反面)。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int f[5005];
struct wood{
    int l,w;
}G[5005];
bool cmp(wood a,wood b)
{
    if(a.l==b.l)
        return a.w>b.w;
    return a.l>b.l;
}
int main()
{
    int t,i,j,n;
    cin>>t;
    while(t--){
        cin>>n;
        for(i=1;i<=n;i++){
            scanf("%d%d",&G[i].l,&G[i].w);
        }
        sort(G+1,G+1+n,cmp);
        memset(f,0x3f,sizeof(f));
        for(i=1;i<=n;i++){
            *lower_bound(f+1,f+1+n,G[i].w)=G[i].w;
            //*k=G[i].w;
        }
        int len=lower_bound(f+1,f+1+n,0x3f3f3f3f)-f-1;
        cout<<len<<endl;
    }

    return 0;
}
算法分析解题报告poj1065 用贪心算法解决POJ 1065的木棍处理问题 立即下载

相关推荐

深入解析FOC电流环PI参数整定:从理论到实践

本文深入解析了FOC(磁场定向控制)中电流环PI参数整定的核心原理与实践方法。文章从永磁同步电机模型出发,详细阐述了基于带宽与零极点对消的工程法及考虑逆变器延迟的二阶系统整定法两种经典策略,并提供了从理论计算到安全上电调试的完整步骤与常见问题解决方案,帮助工程师精准调校电机控制性能。

weixin_29164497的博客 448

POJ 1065 Wooden Sticks

思路: 排序后依次进行贪心选择; 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 struct node { 5 int l, w; 6 bool isUsed; 7 }nodes[5000];//木棍数组 8 bool cmp(const node&...

qq_43119424的博客 204

3-RRR并联机器人结构详解:从运动学到奇异点分析(附MATLAB仿真代码)

本文详细解析了3-RRR并联机器人的结构设计、运动学建模及奇异点分析,并提供了MATLAB仿真代码。通过对称性设计和可分析性,3-RRR结构成为教学与研究的理想对象。文章从基础杆件参数设置到奇异位形的实时捕捉,深入探讨了机构运动的数学本质,并分享了仿真调试中的实用技巧,助力工业自动化和精密控制应用。

sunny的博客 364

POJ1065-LIS&偏序集定理-Wooden Sticks

https://vjudge.net/problem/POJ-1065 给定你一些木材,每次进行加工的时候 x1,y1 x2,y2 如果满足 x1<=x2&&y1<=y2 ,那么就不用重开 否则就得重开,重开一次费一秒,问你最少的花费是多少。 根据 偏序集定理, 把 x升序排之后 求他的 y的最长严格递减子序列就行。。 http://blog.youkuaiyun.com/acdreamers

天与云与山与水 266

PCB设计实践(三十二)PCB设计遇到大电流时的设计技巧

本文系统阐述10A至数百安培PCB设计的六大关键技术。载流能力优化强调铜厚选择(2-4oz)、线宽计算及并联结构;热管理提出散热孔阵列、铜基板嵌入等方案;布局策略包括功率分区和低阻抗路径设计;材料工艺推荐铝基板、陶瓷基板等高效解决方案;安全设计涵盖电气隔离与保护电路;验证环节需结合热仿真与实测。典型150A电机驱动板案例显示,通过4oz铝基板、散热孔阵列等设计,可实现温升≤45℃的稳定运行。核心在于铜厚线宽协同、主动散热及严格验证。

致力于硬件设计、人工智能知识及技术的分享,不断鞭策自己成长,共同进步! 4229

qcc51xx如何配置spdif输入

qcc51xx如何配置spdif输入。

Alex_886的博客 1372

POJ 1065 Wooden Sticks / hdu 1257 最少拦截系统 DP 贪心

参考链接:http://blog.youkuaiyun.com/xiaohuan1991/article/details/6956629 (HDU 1257 解题思路一样就不继续讲解) POJ 1065题意:给你n个木块,分别给出其长度和重量,然后要对这些木块进行加工,如果木块1的长度和重量都不大于木块2,         那么这两个木块可以放在一起加工,从而只用花费1个时间单位。问要如何进行加工从而能...

weixin_34310785的博客 181

matlab物元可拓模型程序,熵权可拓物元模型

1 概述物元分析方法是中国学者蔡文于20世纪80年代提出的用于解决矛盾问题的技术方法,是研究物元及其变化规律,解决现实世界中不相容问题的有效方法,可应用于生态环境,水资源承载力,农用地分级和土地生态水平等综合评价研究中.本文主要介绍了熵权可拓物元模型的相关概念与该模型的建立过程.2 概念2.1 物元物元分析法的主要思想是把事物用"事物,特征,量值"(分别用N,C,V表示)3个要素以有序三元组的形式...

weixin_33823399的博客 4106

POJ1065 Wooden Sticks 动态规划 贪心

本题目用二分也可以解,我记得二分大概需要几百毫秒左右,但是用DP效率更高些,一般时50毫秒左右,DP的思想与上升子序列类似,但思路需要做一个变换。

qq_53038151的博客 198

(二)OpenClaw-连接即时通讯平台-集成飞书完整配置指南

本文详细介绍了如何将OpenClaw与飞书机器人对接,实现通过飞书聊天窗口下达指令自动执行任务的高效协作模式。主要内容包括:1)OpenClaw服务部署验证和飞书账号准备;2)在飞书开放平台创建企业自建应用、添加机器人能力、获取凭证和开通必要权限;3)OpenClaw服务端的首次配置,包括设置飞书通道参数和启动长连接。文章提供了完整的操作步骤和截图指引,帮助用户快速完成对接配置,实现AI自动化助手功能。

直到世界的尽头 2246

SAP BTP ABAP RAP 开发对象命名规范与落地实践

摘要:SAP BTP ABAP开发中的命名规范实践 在企业级ABAP开发中,命名规范是提升交付效率的工程化手段。SAP推荐采用[/<namespace>/][<prefix>]_<object_name>_[<suffix>]的结构化命名框架,解决多对象、多团队的协同问题。关键实践包括:使用组织专属命名空间避免冲突;通过prefix区分同类型对象的不同语义(如UI_/API_);object_name体现业务语义而非技术细节;suffix表达次级差异。在具体对

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1433

POJ1065+POJ3636

POJ 1065 + POJ 3636

Steve Guo 577

AI 视觉宠物喂食器:智能识别 + 精准投喂,打造宠物喂养新体验

AI 视觉宠物喂食器将边缘 AI 计算与传统硬件结合,既解决了传统喂食器的核心痛点,又兼顾了 DIY 的易用性和扩展性。无论是宠物主人 DIY 使用,还是小型创客团队产品化,该方案都具备较高的实用价值和落地性,为宠物智能化喂养提供了轻量化的实现路径。

weixin_42300449的博客 416

POJ 1065

http://poj.org/problem?id=1065 题目的大体意思就是给一些木头长l,重w,有一个机器,如果切割这些木头的话,在i后面切割的i+1根木头满足长度和重量都要大于等于前一根则不需要花费时间,求最少的花费时间 一个贪心加动规吧,不是很难的想法 1 #include <stdio.h> 2 #include <string.h> ...

A1823085974的博客 224

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

poj1065

写了下DP里的poj1065,发现并没有搞懂最好的解法,解法如下(以后在学吧),自己的贪心O(N2)也水过. 题目的确需要稍加思考,这道题的要求其实是将所有stick分为x个不下降子序列( Ai x的最小值其实等于按l递增排序后stick按w最长下降子序列的长度L,证明如下: 若x 鸽笼原理,必然有两个或两个以上的下降子序列L中的元素(b > a)被按顺序放到同一个不下降子

qq_36876305的博客 242

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

POJ 1065 学习写法

参照了http://www.hankcs.com/program/cpp/poj-1065-wooden-sticks.html 代码写得很简洁 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<funct...

aduqw1129的博客 112

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

POJ 1065 Wooden Sticks 【贪心】

题目链接 题意 给n个整数对,定义数对间的大于关系是(w1,l1)≤(w2,l2)↔w1≤w2andl1≤l2,求用这些数对最少能组成几组非递减序列 分析 LIS的变形,但考虑到原来给的这些数对并没有顺序,可以随便选择,因此没有必要用DP求LIS。可以倒序排序(先按第一个数排序,再按第二个数排序)后,贪心,即从左到右遍历,选择当前还没有被选择的数对中的最小...

babao9492的博客 126

poj1065 贪心

如题:http://poj.org/problem?id=1065 Wooden Sticks Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19547   Accepted: 8246 Description There is a pile of n wooden

zht的专栏 442

设置优先级 POJ 1065 Wooden Sticks

POJ 1065题目大意如下: 给出N段木头的数据,每段木头的数据表示形式为:(L,W)。表示的是木头的长度和质量,但是有一个要求(题目我也没有看太懂==,只解释一下大致意思),如果前一段木头数据的字典序小于之前的木头数据,就会花费一些时间。现在给出一些木头的数据,要你给出一个方案,使得花费的时间最少。 这个题目其实很简单,书上布置的这个作业要求用DP方法,但是今天做这个题的时候,并没有想出D

kornberg_fresnel的博客 360

poj_1065 Wooden Sticks

题目链接:http://poj.org/problem?id=1065   //C++代码 #include #include using namespace std; struct Stick{ int l,w; bool flag; bool operator <(const Stick a) const{ if(l==a.l) return w<a.w; return l

永恒国度 670

POJ 1065(贪心)

题目链接   http://poj.org/problem?id=1065  题目意思非常简单,有一堆方木需要处理,处理准备时间如下:第一块方木需要时间为1;如果当前处理方木的长宽都大于等于前一块方木,那么准备时间为0。 此题wrong answer了一次,主要是先前的思路是错误的。先前的想法是,按照l进行排序,然后再统计w的逆序个数;同时按照w排序,再统计l逆序的个数。最

wrong_answer的专栏 469

poj1065(单调递增最长子序列变形)

题目链接:poj1065

no pains,no gains 932

poj 1065 贪心

类似于poj1328. //============================================================================ // // > File : poj1065.cpp // > Author : flowertree // > Time : 2015

233
上一篇: POJ1014 多重背包
下一篇: POJ2392
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值