小埋公司的IPO方案的题解

目录

原题描述:

题目描述

输入格式

输出格式

输出格式

样例 #1

样例输入 #1

样例输出 #1

样例 #2

样例输入 #2

样例输出 #2

提示

题目大意:

主要思路:

但是but

代码code:


时间限制: 500ms

空间限制: 65536kB

原题描述:

题目描述

小埋创建的公司即将开始IPO。为了更高的将价格将股票卖给风险投资公司,小埋希望在 IPO 之前公司开展一些项目增加自己的公司资本。由于资源有限,它只能在 IPO 之前完成最多 K 个不同的项目。请帮助小埋设计完成最多 K 个不同的项目后得到的最大总资本的方式。

小埋有这样 n 个项目。对于每个项目 i ,它都有一个纯利润 A_i ,和启动该项目需要的最小资本 B_i

最初,小埋的资本为 w。当你完成一个项目时,你将获得纯利润,且利润将被添加到你的总资本当中。

总而言之,从这 n 个项目当中选择最多 K 个不同的项目列表,以最大化最终的资本,并输出最终可获得的最多的资本。

输入格式

第一行输入一个整数 n,w,k

以下 n 行有 n 个项目,每一行有两个值 A_i,B_i​,A_i的值是投资获取的利润,B_i的值是启动该项目的最小资本。

输出格式

输出一个整数,输出最大化后的资本。

输出格式

输出一个整数,输出最大化后的资本。

样例 #1

样例输入 #1

3 0 2
1 0
2 1
3 1 

样例输出 #1

4

样例 #2

样例输入 #2

3 0 3 
1 0 
2 1
3 2

样例输出 #2

6

提示

1 \le n \le 10^5

0 \le w \le 10^9

1 \le k \le 10^5

0 \le A_i \le 10^4

0 \le B_i \le 10^9

题目大意:

这个好理解,就是和解锁关卡一样,你最多可以解锁k个,解锁第i个关卡需要B_i的经验值(解锁不消耗经验值,也就是不用-B_i)如果你解锁了第i个关卡,你会获得A_i的经验值,你初始有x的经验值,有n个关卡。

主要思路:

很明显,这题就是贪心,每次找到比w小的项目,把这个项目获得的钱放进优先队列中(如果有了就不放),找到获得钱数最大的(q.top)然后弹出队首,w+=q.top()。

但是but

可是这样做还是会超时,因为每次找比w小的项目要花n的复杂度,所以会超时。

这个时候。。。

双指针闪亮登场。

我们可以先按照需要的钱从小到大的排个序,由于每次w会再增大,所以可以用pos记入到哪了,每次从pos开始找,复杂度就会小很多。

代码code:

#include<bits/stdc++.h>
using namespace std;
int n,w,k;
priority_queue<int> q;
pair<int,int> p[100010];
int main()
{cin>>n>>w>>k;for(int i=1;i<=n;i++){cin>>p[i].second>>p[i].first;//反着存,方便sort}sort(p+1,p+1+n);int p1=1;int cnt=0;while(k--){while(p1<=n&&p[p1].first<=w)//双指针{q.push(p[p1].second);p1++;}if(q.empty())//如果空了,就跳出。{break;}w+=q.top();q.pop();//加上,pop()
//		w-=tmp;//		cnt+=tmp;}cout<<w;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest 参数化测试用例构建

在之前的文章中主要分享了 pytest 的实用特性&#xff0c;接下来讲 Pytest 参数化用例的构建。 如果待测试的输入与输出是一组数据&#xff0c;可以把测试数据组织起来用不同的测试数据调用相同的测试方法。参数化顾名思义就是把不同的参数&#xff0c;写到一个集合里&#xf…

Apipost智能Mock教程

在接口开发过程中&#xff0c;Mock功能可以帮助开发者快速测试和验证接口的正确性和稳定性&#xff0c;以便快速迭代和修复问题。Apipost推出智能Mock功能&#xff0c;可以在智能期望中填写一些触发条件&#xff0c;开启后&#xff0c;Apipost会根据已设置的触发条件&#xff0…

大创项目推荐 疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 大数据全国疫情数据分析与3D可视化 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff0…

力扣70. 爬楼梯(动态规划 Java,C++解法)

Problem: 70. 爬楼梯 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 由于本题目中第i层台阶只能由于第i- 1层台阶和第i-2层台阶走来&#xff0c;所以可以联想到动态规划&#xff0c;具体如下&#xff1a; 1.定义多阶段决策模型&#xff1a;对于每一上台阶看作一种状…

zookeeper window 安装

下载 Apache ZooKeeper 解压Zookeeper安装包到指定目录&#xff0c;注意目录不要有空格。 备份zoo_sample.cfg并改名zoo.cfg 注意&#xff1a;此处的路径一定要使用双斜杠" \\ " D:\\apache-zookeeper-3.8.3-bin\\data 新建环境变量&#xff1a;ZOOKEEPER_HOME D…

如何利用chatgpt提升工作效率?教你chatGTP怎么提高效率

如何利用chatgpt提升工作效率&#xff1f;教你chatGTP怎么提高效率 在当今信息时代&#xff0c;人们的工作需要处理的信息量越来越大&#xff0c;而随着人工智能技术的不断发展&#xff0c;越来越多的企业开始应用生成式AI系统ChatGPT来提高工作效率。下面介绍如何利用ChatGPT来…

鸿蒙原生应用/元服务开发-延迟任务说明(一)

一、功能介绍 应用退至后台后&#xff0c;需要执行实时性要求不高的任务&#xff0c;例如有网络时不定期主动获取邮件等&#xff0c;可以使用延迟任务。当应用满足设定条件&#xff08;包括网络类型、充电类型、存储状态、电池状态、定时状态等&#xff09;时&#xff0c;将任务…

【⭐AI工具⭐】实用工具推荐

目录 壹 实用工具工具合集TinyWowHiPDF 公式处理SimpleTex公式中常用的希腊字母符号公式在论文中的格式 图像处理BgRemoverPix Fix像素蒸发Photopea 音频处理啦啦爱 笔记整理飞书妙记 素材整理Eagle 其它一次性临时电子邮件近邻词汇检索据意查句诗三百能不能好好说话&#xff1…

PaddleDetection学习3——使用Paddle-Lite在 Android 上部署PicoDet模型(fp16)

使用Paddle-Lite在 Android 上运行PicoDet模型&#xff08;fp16&#xff09; 1. 环境准备2. 部署步骤2.1 下载Paddle-Lite-Demo2.2 打开 picodet_detection_demo项目2.2.1 修改build.gradle&#xff0c;配置国内镜像仓库2.2.2 NDK 配置错误问题2.2.3 gradle.properties文件配置…

flask分页宏增加更多参数

背景&#xff1a;我正在开发一个博客&#xff0c;核心的两个model是文章和文章类别。 现在想要实现的功能是&#xff1a;点击一个文章类别&#xff0c;以分页的形式显示这个文章类别下的所有文章&#xff0c;类似这种效果。 参考的书中分页宏只接受页数这一个参数&#xff0c;…

iconfont矢量图标样式引入

font-face {font-family: "iconfont"; /* Project id 2848128 */src: url(//at.alicdn.com/t/font_2848128_mchidofoxgo.woff2?t1643706746390) format(woff2),url(//at.alicdn.com/t/font_2848128_mchidofoxgo.woff?t1643706746390) format(woff),url(//at.alicdn…

Keil5 MDK的安装

【STM32入门教程-2023版 细致讲解 中文字幕】 https://www.bilibili.com/video/BV1th411z7sn/?p3&share_sourcecopy_web&vd_source9e3e013d351349501787efa88d17f2e4 1.下载Keil5 MDK软件&#xff0c;双击打开 2.在D盘新建文件 3.安装 4.选择支持包&#xff08;离线安…

easyui渲染隐藏域<input type=“hidden“ />为textbox可作为分割条使用

最近在修改前端代码的时候&#xff0c;偶然发现使用javascript代码渲染的方式将<input type"hidden" />渲染为textbox时&#xff0c;会显示一个神奇的效果&#xff0c;这个textbox输入框并不会隐藏&#xff0c;而是显示未一个细条&#xff0c;博主发现非常适合…

数据结构【DS】Ch6 图

文章目录 图的基本概念图的存储及基本操作图的遍历图的应用图的连通性问题最小生成树最短路径问题拓扑序列关键路径 图的基本概念 图的存储及基本操作 图的遍历 图的应用 图的连通性问题 最小生成树 最短路径问题 拓扑序列 关键路径

MySQL主从复制原理与实践:从配置到故障监控

文章目录 前言主从复制原理复制源主节点的工作从节点的工作复制流程的设计 主从复制环境搭建一、主从节点配置二、从节点开启复制步骤1、备份主节点的数据2、将数据同步到从节点3、从节点复制参数配置 三、验证复制环境 主从复制故障监控监控主从复制状态监控主从复制延迟 总结…

FastSpeech2——TTS论文阅读

笔记地址&#xff1a;https://flowus.cn/share/1683b50b-1469-4d57-bef0-7631d39ac8f0 【FlowUs 息流】FastSpeech2 论文地址&#xff1a;lFastSpeech 2: Fast and High-Quality End-to-End Text to Speechhttps://arxiv.org/abs/2006.04558 Abstract&#xff1a; tacotron→…

从0开始python算法工程师(一):安装conda

1.为什么要安装conda 主要是为了在命令行使用conda命令管理虚拟环境。 2.两种conda Windows用户&#xff0c;一般建议初学者都安装anaconda&#xff08;省事&#xff09;&#xff1b;Windows用户&#xff0c;熟练的安装者则安装miniconda&#xff08;省存储空间&#xff09;…

Microchip Studio修改工程名

打开工程后&#xff0c;右键选择重命名 右键工程重命名 关闭后回到工程下的文件夹 再次打开工程软件会显示加载失败&#xff0c;此时是找不到路径了 菜单栏打开工程 选择修改文件夹名字的路径下的cproj文件 然后点击关闭&#xff0c;会显示保存新的atsln文件&#xff0c;此时将…

安全基础~攻防特性3

文章目录 SSTI(模板注入)1. 简介2. 成因3. 常见框架存在注入4. 判断存在SSTI SSTI(模板注入) 1. 简介 (Server-Side Template Injection) 服务端模板注入 1、使用框架&#xff08;MVC的模式&#xff09;&#xff0c;如python的flask&#xff0c;php的tp&#xff0c;java的sp…

实战内网穿透NPS搭建过程

前提条件 首先你要有个公网IP的服务器&#xff0c;既然是内网穿透&#xff0c;那必然是通过公网IP或者域名访问本地服务。 官网下载地址 https://github.com/ehang-io/nps/releases 服务端 选择linux_amd64_server.tar.gz 客户端 选择windows_amd64_client.tar.gz 服…