uva uva 1153 - Keep the Customer Satisfied

一文搞定 GitHub SSH Key:生成、配置、好处全攻略 本文详细介绍了如何配置GitHub SSH Key,实现免密安全认证。主要内容包括:SSH协议的四大优势(免密登录、安全性高、稳定省心、支持自动化);Git身份配置步骤;检查本地SSH Key;生成RSA密钥对;添加密钥到SSH代理;复制公钥到GitHub;测试连接。配置完成后,开发者可通过SSH地址克隆仓库,实现push/pull全程免密操作。该方案显著提升Git使用效率,同时保障安全性,是开发者必备技能。 阅读详情

题目大意:给定n个任务的截止时间和完成任务所需的时间,现在问最多可以完成多少件任务。

此题看上去跟区间问题差不多,但是时间上无法确定区间是什么。但是思想都是一样的,就是尽量在较短的时间内完成同样多的任务。

先按截止时间排序,然后对于一个任务,看已选择的任务中存不存在,这样的情况使得 完成任务时间大于当前的任务,如果存在,则删去已选择的,压入当前的。可用反证法证明。

另外遇到了一个让人无法理解的问题,详见代码

//
//  main.cpp
//  uva 1153 - Keep the Customer Satisfied
//
//  Created by XD on 15/8/17.
//  Copyright (c) 2015年 XD. All rights reserved.
//

#include <iostream>
#include <string>
#include <queue>
#include <stack>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include<vector>
#include <string.h>
#include <string>
#include <algorithm>
#include <set>
#include <map>
#include <cstdio>
using namespace std ;
const int maxn =800010;

struct node
{
    int t ,d ;
    bool operator < (const node &n ) const{
        return t <n.t ;
    } ;
};
bool cmp(node& a ,node& b)
{
    return a.d < b.d ? true:false ;
}
node order[maxn] ;
priority_queue<int> que ;
int main(int argc, const char * argv[]) {
    int T ,n; scanf("%d" ,&T) ;
    while (T--) {
        scanf("%d" ,&n) ;
                for (int i = 0; i < n ; i++) {
            scanf("%d%d" , &order[i].t,&order[i].d) ;
        }
        sort(order, order+n,cmp) ;
        while (!que.empty()) {
            que.pop() ;
        }
        
        int ctime = 0;  int ans =0 ;
        for (int i = 0; i < n;i++) {
            int time = order[i].t ;
//先将ctime + time 是通过不了的。但是拆开就过得了了。郁闷没理解为什么。

//            ctime += time ;
            if (ctime + time > order[i].d) {
                if (!que.empty()) {
                    int t = que.top() ;
                    if (t < time)  {
                        ;
//                        ctime-= time ;
                    }
                    else{
                        que.pop();
                        que.push(time) ;
                        ctime = ctime - t + time ;
                    }
                }
                continue ;
            }
            que.push(time) ;
            ctime += time ;
            ans++;
        }
        printf("%d\n",ans) ;
        if(T) printf("\n") ;
    }
    return 0;
}



基于Python的SEC Edgar文件高效爬取:最新技术与实战指南 本文详细介绍了如何使用Python最新技术高效爬取SEC Edgar数据库中的金融文件。我们将探讨SEC Edgar系统的结构、合法爬取注意事项,并使用现代Python库如Requests-HTML、aiohttp和Playwright实现多种爬取方案。文章包含完整的代码示例、性能优化技巧以及数据处理方法,为金融数据分析师、研究人员和开发者提供全面指导。关键词:SEC Edgar、Python爬虫、金融数据、异步爬取、Playwright、XBRL解析。 阅读详情

相关推荐

【开源训练数据集2】10个最适合机器学习的股票市场数据集

​随着加密货币在世界各地的兴起,人们现在有比以往更多的投资方式。然而,这并不像低买高卖那么简单。如果你能准确预测股市,你就会成为地球上最富有的人之一。因此,之前已经有关于如何利用情绪分析来预测股市的研究。对于那些希望构建类似预测模型的人,本文将介绍 10 个用于机器学习的股票市场和加密货币数据集。

u010542847的博客 2139

UVA1153-Keep the Customer Satisfied(贪心+优先队列)

题目链接 题意:有一家大型的钢铁厂,每月初都收到大量客户的订单,订单包括定制的钢铁的数量q,以及交货的截止时间d。每个单位时间只能完成一个订单的工作,不能同时进行多个,要求怎么安排使得接受的订单最多。 思路:要使得订单最多,首先我们先按照截止日期,从小到大排序。  当qi>qj 并且 didj时,那么我们应该优先选择订单j才能使结果最优,所以我们使用优先队列来维护q值。

懒人一枚。 1763

MTK Linux Charger驱动分析(二) - power_supply_core.c

的核心作用可以概括为:提供统一的电源管理框架;管理电源设备注册、属性访问、事件通知;封装sysfs 接口和 uevent 通知,屏蔽硬件细节;驱动开发者只需要实现,不关心底层通知和接口细节。简单来说,它是电源子系统的“大脑和中枢”,具体的电池/充电器只是“信息源”。

iTom1900 1490

Keep the Customer Satisfied UVA - 1153

题意:有n(n &lt;= 800000)个工作,已知每个工作需要的时间qi和截止的时间di(必须在此之前完成),最多能完成多少个工作?工作只能串行完成。第一项任务开始的时间不早于时刻0. 思路:1.贪心。按照截止时间从早到晚进行排序,从左到右进行遍历,ans记录当前时间,优先队列记录已经完成的每个工作的需要的时间,优先队列按照工作需要时间从多到少进行排列 2.若当前工作需要的时间qi+ans...

沐妖的博客 219

ubuntu18.04安装R——无法连接上 dl.google.com:80 (6.6.6.6),连接超时&&E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

安装R的时候,sudo apt update 的时候出现错误: 查资料要修改/etc/apt/sources.list.d/google-chrome.list 文件 原来是: deb http://dl.google.com/linux/chrome/deb/ stable main 改为: deb [arch=amd64] http://dl.google.com/linux/chrom...

许希律的博客 4353

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。

坐听风雨 4564

1153 - Keep the Customer Satisfied(贪心)

又是一道经典的贪心算法题目 。 乍看题目,想到了紫书一开始讲的区间问题(给定一些区间,选择尽可能多的不相交区间),和另一个经典问题:“活动安排”  的实质是一样的。 但是本题又和区间问题不同,因为区间起点未知,我们所知道的仅仅是等待时间和截至时间,但是其实贪心思想是一致的,即:尽可能的给后面的人留下更多时间,满足当前所用时间最少。 因此可以写出贪心算法 : 按照截至时间排序,将元素的消耗时间加到

AC_Arthur的专栏 1127

ADS负载牵引仿真避坑指南:从零开始搞定Loadpull模板设置

本文是一份针对ADS负载牵引仿真的深度避坑指南,详细解析了Loadpull模板从初始化配置到结果解读的全过程。文章重点阐述了如何根据设计目标灵活设置扫描圆、采样点等关键参数,以解决仿真不收敛、结果不完整等常见问题,并指导读者在功率与效率之间做出理性权衡,最终提取出用于匹配网络设计的最优负载阻抗。

weixin_29234423的博客 597

UVa - 1153 - Keep the Customer Satisfied

用pair作为基本结构保存q和d,在用一个数组vector<pair<int, int> >来存储输入数据。然后按照等待时间 d 排序,注意用sort排序默认是用first,这里的的first是q,所以要重写一个比较函数,用second排序。 接下来就是贪心算法,用优先队列priority_queue<pair<int, int> > 存储结果,这里体现了用pair的优点,刚好优先队列中就是first高优先级高。 一个个入队,如果总时间超过了当前限制时间,则把队中花费时间最长的元素(就是q最大的)删掉。

yofer张耀琦的专栏 830

FreeFEM++下载安装和使用

最近要利用机器学习求解一些偏微分方程,对于一些复杂的偏微分方程,需要一些精度比较高的参考解,导师推荐了FreeFEM++软件。首次使用,特此记录一下,以备以后查阅。 1、FreeFEM++简介 FreeFEM是开源的有限元模拟系统,有法国利翁斯实验室、埃尔和玛丽居里大学共同开发,在世界范围内广泛使用。 2、FreeFEM++去何处下载? 下载地址:https://freefem.org/ 点击Download,然后会跳转到 https://github.com/FreeFem/FreeFem-source

夜晓岚的博客 1万+

华为OD机试真题 新系统 - 8位LED控制器 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 1977

UVA1153 Keep the Customer Satisfied(贪心+优先队列)

题目链接 1.题目大意:有n个工作,已知每个工作需要的时间q和截止时间d(不能超过该时间完成),求最多完成多少工作 2.很经典的区间贪心的变式,这里只确定了右端点,即截止时间,还有区间长度确定,如何找到不相交的最多的区间个数?首先如果考虑只对时间贪心,那么观察下面数据: 3 3 4 5 17 6 10 很明显这种思路是错误的,因为,如果后面还有截止时间更长的,那么这个工作可以往后稍稍,这样有可...

Happig的博客 698

第3版•系统集成项目管理工程师(中级) │ 告别迷茫!案例分析高分攻略

🥏第3版•系统集成项目管理工程师(中级) │ 告别迷茫!案例分析高分攻略

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 3870

UVA1153 Keep the Customer Satisfied

UVA1153 Keep the Customer Satisfied 题目链接 第一次做这种题,没有丝毫头绪,查了一下要用优先队列+贪心,在这里再记录一下。 题目大概意思就是给定n个区间,求最多不相交的区间个数。 解题方法 首先将输入按照截止时间从前往后排列,截止时间靠前的肯定要先完成。 然后维护一个时间和优先队列,时间就是记录当前工作的时间,优先队列存放已经完成的工作,按照所耗费的时间排序,耗时长的先出队。 方法解释 我们按照截止时间的升序向优先队列中push,每次向队列中插入元素时,如果插入的工作可以

polarday的博客 234

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

uva 1153—— Keep the Customer Satisfied

题意:有n个工作,已知每个工作的开始时间和结束时间,问最多能完成多少工作。 思路:贪心。要想使得最后的结果最佳,那么开始的晚的,要在最后来做。在此基础上,需要保证先做开始的早的(需要用优先队列来维护)。 code: #include #include #include #include #include #include #include #include #

坚持不懈 408

visio安装包

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

UVA 1153 Keep the Customer Satisfied

https://cn.vjudge.net/problem/UVA-1153 题目 有 $n$ ($n\leqslant800000$)个工作,已知每个工作需要的时间 $q_i$ 和截止时间 $d_i$(必须在此之前完成),最多能完成多少工作?工作只能串行完成。第一项任务开始的时间不早于时刻0。 题解 考虑这样的图…… 考虑不出来 放弃= = 题目提示按截止时间从小到大...

205

温度PID控制PLC程序

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

UVA - 1153 Keep the Customer Satisfied(贪心)

UVA - 1153 Keep the Customer Satisfied Time Limit:3000MS Memory Limit:Unknown 64bit IO Format:%lld & %llu Description Simon and Garfunkel Cor...

Dara2015的博客 270

uva1153 Keep the Customer Satisfied

贪心加优先队列 (默认是小的在前,正好) //这里又很套路,设队列里的都是符合条件的考虑新加入的即可。再处理一下空队列的情况。很完美// 截止时间短的在前面,干的就多先根据截止日期排序优先队列根据完成所需时间排序首先队列里的都是能完成的策略:新加入的,如果在前面的完成后仍能完成,就直接加进去;不能,因为截止日期在更后,不影响其他的,比较top元素用的时间,更短就换掉(此时因为截止日期...

dengdouweng1282的博客 118

UVa 1153 顾客是上帝(Keep the Customer Satisfied)

题意: 有n个工作,已知每个工作需要的时间q和截止时间d,最多能完成多少个工作?工作只能一个一个完成,起始时间从0开始。 分析: 以d排序,优先队列。 可以保证永远都是符合条件的时间小的在优先队列中。 代码: #include<bits/stdc++.h> #define LL long long #define ms(s) memset(s, 0, sizeof(s)) using ...

Inuyasha__的博客 286

UVA1153 顾客是上帝 Keep the Customer Satisfied(贪心)

UVA1153 顾客是上帝 Keep the Customer Satisfied 题意: 有 n(n≤800000)个工作,已知每个工作需要的时间 qi 和截止时间 di (不必在此之前完成),最多能完成多少个工作?工作只能串行完成。第一项任务开始的时间不早于时刻 0。 思路: 贪心,先按截止时间先后顺序排序,设置一个时间轴 TTT,若 T+qi≤diT+qi\leq diT+qi≤di ,则直接做;否则,从之前做过的任务中选择用时最长的任务出来与当前的qi进行比较,选择用时最少的。相当于是在维护时间轴让

weixin_45722843的博客 250

I - Keep the Customer Satisfied(30) UVA - 1153

Simon and Garfunkel Corporation (SG Corp.) is a large steel-making company with thousand of customers. Keeping the customer satis ed is one of the major objective of Paul and Art, the managers. Custo...

qq_44134712的博客 289

顾客是上帝 Keep the Customer Satisfied uva1153

本题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=845&page=show_problem&problem=3594题解:水题,只需要先排列end 的时间,以此作为循环的条件基础,从0点开始,不断加上所需时间,如果超出end要求时间,则在之前加上的所需时间里挑出最大的减去,即可获得

woyaoxuexi10000nian的博客 408

UVa 1153 Keep the Customer Satisfied 解题报告(贪心)

1153 - Keep the Customer Satisfied Time limit: 3.000 seconds

SF-_- 的 ACM 博客 968

UVA - 1153 Keep the Customer Satisfied

题目大意:有n个客户,去买一家商场,结算时候排队,每个顾客有一个等待时间,过了等待时间顾客就会不满,然后每个顾客又有一个结算时间,问说最多让几个顾客满意。解题思路:先按照等待时间从小到大排列,然后遍历一遍,每次加上当前人的时间,如果时间超过了当前的等待时间,则减掉前面满意人当中结算时间最长的那个人的时间。#include <cstdio> #include <queue> #include <alg

Bingo 1863

UVa #1153 Keep the Customer Satisfied (习题8-12)

太担心于算法的正确性,一不留神被输出的空行要求坑了。凡是只给一组sample的,都应该首先留意输出格式的文字要求 另外,题目的"before its due date"也是坑啊,加一个"or on"会怀孕么 Run Time: 0.399s #define UVa "8-12.1153.cpp" //Keep the Customer Satisfied char

专攻挖掘机炒鸡蛋算法的专栏 659

uva 1153 - Keep the Customer Satisfied(贪心+优先队列)

题目链接:uva 1153 - Keep the Customer Satisfieduva 题目大意:有n个客户,去买一家商场,结算时候排队,每个顾客有一个等待时间,过了等待时间顾客就会不满,然后每个顾客又有一个结算时间,问说最多让几个顾客满意。 解题思路:先按照等待时间从小到大排列,然后遍历一遍,每次加上当前人的时间,如果时间超过了当前的等待时间,则减掉前面满意人当中结算时

不慌不忙、不急不躁 1814
上一篇: uva 1615 - Highway
下一篇: uva 10570 meeting with aliens
LuckyqXd
博客等级 码龄12年 2粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值