POJ 1065(贪心)

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 阅读详情

题目链接   http://poj.org/problem?id=1065 

题目意思非常简单,有一堆方木需要处理,处理准备时间如下:第一块方木需要时间为1;如果当前处理方木的长宽都大于等于前一块方木,那么准备时间为0。


此题wrong answer了一次,主要是先前的思路是错误的。先前的想法是,按照l进行排序,然后再统计w的逆序个数;同时按照w排序,再统计l逆序的个数。最后,取其中的最小值。后来,发现这种思路是严重有问题的!


其实这个题十分简单,就是将所有的数据分成几个集合,每一个集合都是升序的,然后统计集合最小的个数。

代码如下:


#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;

typedef struct{
   int l,w,vi;
}point;

point p[5005];

bool cmp1(const point &p1,const point &p2)
{
   if(p1.l==p2.l) return p1.w<p2.w;
   return p1.l<p2.l;
}

void solve()
{
    int n,i,j,te,sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
       scanf("%d %d",&p[i].l,&p[i].w);
       p[i].vi=0;
    }

    sort(p,p+n,cmp1);
    for(i=0;i<n;i++)
    {
        if(p[i].vi==0)
        {
            sum++;p[i].vi=1;
            te=i;
            for(j=te+1;j<n;j++)
               if(p[j].vi==0 && p[te].l<=p[j].l) { te=j; p[j].vi=1; }
        }
    }
    printf("%d\n",sum);
}

int main()
{
    int t;
    scanf("%d",&t);
    while(t--)  solve();
    return 0;
}

poj1065贪心 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于   第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗?   输入 第一行是一个整数T,表示输入数据一共有T组。 阅读详情

相关推荐

QGroundControl高级配置与自定义功能实战指南

本文深入探讨了QGroundControl(QGC)的高级配置与自定义功能,为无人机开发者、系统集成商和高级用户提供实战指南。内容涵盖从品牌界面定制、自定义MAVLink消息处理,到插件开发与自动化部署的全流程,旨在帮助用户解锁QGC的隐藏潜力,打造专属的行业解决方案。

weixin_29234509的博客 239

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

PPO算法详解:基于CartPole-v1的强化学习实现

PPO算法详解:基于CartPole-v1的强化学习实现

m0_54720701的博客 863

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

Quest 3开发第一步:搞定Meta账号登录和Oculus软件连不上设备的那些坑(2024实测)

本文详细介绍了Quest 3开发初期的关键步骤,包括Meta账号注册、Oculus软件安装与设备连接等常见问题的解决方案。针对国内开发者遇到的邮箱限制、验证码接收等难题,提供了实用的应对策略,并分享了开发环境配置和常见问题排查技巧,帮助开发者快速搭建Quest 3开发环境。

weixin_30333885的博客 491

Ubuntu图形界面崩溃?从tty到GUI的终极修复指南

本文提供了Ubuntu图形界面崩溃后进入tty的终极修复指南。详细介绍了如何诊断显示管理器(如LightDM或GDM3)状态,并通过重装、切换显示管理器、修复依赖、系统升级及排查显卡驱动等核心方案,逐步恢复GUI。帮助用户从命令行界面高效修复桌面环境,避免数据丢失。

vulkan6gpu的博客 778

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

泛微ecology9二次开发-附件上传-安全实践

本文深入探讨了泛微ecology9二次开发中附件上传功能的安全实践。针对原生接口的安全机制,文章提出了同源部署与服务端代理转发两大核心策略,并提供了基于Vue3和Element Plus的完整前端实现代码,重点解决了会话验证、权限控制及文件关联等关键安全问题,确保二次开发应用能安全、稳定地与ecology9系统集成。

qsc9012345的博客 530

POJ1065 Wooden Sticks 动态规划 贪心

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

qq_53038151的博客 198

computer planetary——全球生物多样性信息机构 (GBIF)

正如npartitions所表明的,这个Parquet数据集是由许多单独的parquet文件组成的。(GBIF) 是一个由世界各国政府资助的国际网络和数据基础设施,提供记录物种发生的全球数据。重新处理数据的原因有多种,包括主干分类的更改,因此该日期不一定是发生记录最后更改的日期。GBIF 发生数据集结合了来自广泛来源的数据,包括来自自然历史博物馆的标本相关数据、来自公民科学网络的观察和自动环境调查。为了了解最常观察到的物种,我们将对数据集进行分组,并获得每个物种的计数。大多数字段名称对应于。

此星光明博客 1635

Qt + windows + Linux+QtInstallerFramework打包教程

本文介绍了使用Qt Installer Framework在Windows和Linux系统下打包Qt应用程序的完整教程。Windows部分详细说明了从下载安装框架、配置环境变量、生成release版本,到创建安装包目录结构和修改配置文件的完整流程。Linux部分则重点讲解了环境变量设置、桌面应用配置(.desktop文件)以及两种打包方案:一种使用linuxdeployqt生成AppImage文件,另一种采用类似Windows的安装包方式。教程提供了关键配置文件(config.xml、package.xml

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 516

POJ 1065 Wooden Sticks 【贪心】

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

a18235146924的博客 126

Xilinx FPGA ICAP原语实现多重配置

众所周知,常见的FPGA通常为SRAM结构,固件程序一般存放在外置的串行Flash中,比如SPI Flash,M25P16或N25Q128等。 FPGA启动时,一般先从SPI起始地址开始加载数据到内部的SRAM,加载完成、校验通过则会直接运行。 那么有没有可能在SPI Flash中存放两个或多个FPGA固件呢?

whik1194的博客 4611

poj 1065 贪心

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

233

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

poj 1065 Wooden Sticks (贪心)

题目:http://poj.org/problem?id=1065 思路:先按照L排序转换成一维,在对W贪心即可。 #include #include using namespace std; const int MAX=5001; struct wooden{ int l,w,flag; }wd[MAX]; bool Cmp(wooden x,wooden y){ if(x.l!=y.l

R_xiaozhu_Q的专栏 1184

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

poj 1065 Wooden Sticks 【贪心 新思维】

题目地址:http://poj.org/problem?id=1065 Sample Input 3 5 4 9 5 2 2 1 3 5 1 4 3 2 2 1 1 2 2 3 1 3 2 2 3 1 Sample Output 2 1 3题目抽象:给你一个序列,序列的每个元素包含两个值(x,y).现在希望找到最少数目的条件序列。条件序列是这样的:cur....

weixin_30724853的博客 109

poj1065 Wooden Sticks 贪心,提供测试数据

题目链接:http://poj.org/problem?id=1065 解题思路:

basement_boy 1230

POJ - 1065 Wooden Sticks DP(LIS)|| 贪心

传送门:POJ 1065 题意:要处理n个长为li,宽为wi的木棍,若处理完(li, wi)后接着处理(li', wi')且满足li' >= li, wi' >= wi 则不花费时间,否则花费1单位时间,问处理完n根木棍最少花费多长时间。 思路:一开始想着贪心来着,谁让这是dp系列的题呢,就没敢写,没想到贪心还真能解。。 解法一:利用Dilworth定理将本题转化为LIS问题,有关Dilwo

WA是一笔财富 404

【贪心】POJ 1065

头一次接触POJ,然后写了自己比较擅长的贪心。 解题思路大概就是从小排(这个很重要,然后用cmo随便长度或者重量的排序,选择最小的开始) 直到所有比他weight大的,没有符合条件的了。就代表要再加一分钟了。 然后再次访问,用used标记有没有用过。 和活动顺序排序有点类似。 /**测试样例: 3 5 4 9 5 2 2 1 3 5 1 4 3 2 2 1 1 2 2 3 1 3 2

一将功成万骨枯 450

POJ 1065 贪心

解题步骤采用贪心的思想,在剩余木棍当中选择长度最短重量最小的木棍作为该批次的起始,然后将剩余木棍中所有满足条件(l <= l’ and w <= w’)的木棍加入该批次,然后重新选择木棍开始新的批次。

tiana_的博客 639

ZOJ1025 POJ1065 HDU1051 Wooden Sticks,贪心算法版

这题我用的是贪心算法,对len排序后在weight中找总共有多少个没有公共交点的上升子序列。总的时间复杂度为O(N^2)。 /************************************************************************

Neo Fung的专栏 1482

贪心问题(POJ1700/1017/1065)(C++)

本文主要就贪心问题给出了讲解和例题的讲述,使用C++语言,基于贪心问题(POJ1700/1017/1065)

CUGLin的博客 1285

POJ 1065

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

A1823085974的博客 224
下一篇: POJ 1477(贪心)
wrong_answer
博客等级 码龄14年 0粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值