Codeforces 913 二进制背包(柠檬水) 暴力贪心特殊背包(选题)

A

B

C

给你N(N<=30)种水瓶每种水瓶有无限个 每个的体积是2^(i-1)价格是cost[i] 要求你花最少的钱弄出L体积的水

先从前到后扫一遍cost[i+1]=min(cost[i+1],cost[i]*2)  再从后往前扫一遍cost[i]=min(cost[i],cost[i+1) 保证了价格的最优化

然后从0开始到30 如果二进制有当前体积的就买 同时检验一下anser=min(anser,cost[i+1])(意思是如果买当前所有体积两倍的水比买当前的便宜就买当前体积两倍的)

#include <bits/stdc++.h>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
int n;
ll L;
ll cost[35];
int main()
{cin >> n;cin >> L;for (int i = 1; i <= n; i++){cin >> cost[i];}for (int i = 1; i <= n - 1; i++){cost[i + 1] = min(cost[i + 1], cost[i] * 2);}for (int i = n - 1; i >= 1; i--){cost[i] = min(cost[i], cost[i + 1]);}for (int i = n + 1; i <= 33; i++){cost[i] = cost[i - 1] * 2;}ll anser = 0;for (int i = 0; i <= 30; i++){if (L & (1LL << i)){anser += cost[i + 1];}anser = min(anser, cost[i + 2]);}cout << anser << endl;
}
View Code

D

给你N个问题 T时间 每个问题有一个ai和ti 分别的意思是 总解决的问题如果不大于ai这个问题就有一个贡献与问题所消耗的时间

要求你求出最大的贡献值

可以二分也可以直接优先队列贪心 把ai ti i的问题 push进 pro[ai] make_pair(ti,i)

假设当前最大值是i 从N开始 把pro[i]的全部压入优先队列 如果问题数比i大就 pop掉最大的 直到遇到符合要求的或者i==0

#include <cstdio>
#include <bits/stdc++.h>
#include <algorithm>
#include <vector>
using namespace std;
vector<pair<int, int> > ke[200005];
priority_queue<pair<int, int> > que;
int main()
{int n, T;cin >> n >> T;int where, t;for (int i = 1; i <= n; i++){scanf("%d %d", &where, &t);ke[where].push_back(make_pair(t, i));}int anser = 0;int sum = T;for (int i = n; i >= 0; i--){for (pair<int, int> ch : ke[i]){que.push(ch);sum -= ch.first;}while (que.size() > i){sum += que.top().first;que.pop();}if (que.size() == i && sum >= 0){cout << i << endl << i << endl;while (que.size()){cout << que.top().second << " ";que.pop();}cout << endl;return 0;}}
}
View Code

 

转载于:https://www.cnblogs.com/Aragaki/p/8711214.html

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

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

相关文章

android baidupush

实战 QQ demo源码&#xff08;本例中有该应用&#xff09; 服务器端下载&#xff1a;http://download.csdn.net/download/knight_black_bob/9822551 android eclipse 版&#xff1a;http://download.csdn.net/download/knight_black_bob/9822553 android stdio 版本&#xff1…

jQuery源码分析--Event模块(1)

jQuery的Event模块提供了强大的功能&#xff1a;事件代理&#xff0c;自定义事件&#xff0c;自定义数据等。今天记录一下它实现的原理。 我们都知道&#xff0c;在js的原生事件中&#xff0c;有事件对象和回调函数这两样东西。但是事件对象是只读的&#xff0c;所以jQuery就用…

JSP内置对象(9个常用的内置对象)

为什么80%的码农都做不了架构师&#xff1f;>>> 2012-08-06 1.request对象 客户端的请求信息被封装在request对象中&#xff0c;通过它才能了解到客户的需求&#xff0c;然后做出响应。它是HttpServletRequest类的实例。 序号 方 法 说 明 1 object getAttribute(S…

用户可计算型出题程序

此次程序是对上次程序的再次开发&#xff0c;我将自己视作另一个在开发者&#xff0c;在对自己前面程序进行再次审视时&#xff0c;有了别样的感受&#xff0c;自己写的程序&#xff0c;一定要为别人(也有可能是自己)留一条活路。闲话不多说&#xff0c;进入大家最喜欢的**环节…

使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)

前篇 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程&#xff08;一&#xff09;使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程&#xff08;二&#xff09;原文第十三步&#xff0c;Express API路由 第一个路由是用来创建角色…

匿名方法,lambad表达式,匿名类

其实lambad表达式就是“函数”或者说是“方法”写法的一个进化&#xff0c;越来越简化而已&#xff0c;如数学方法里的f(X)。 匿名方法&#xff1a;顾名思义&#xff0c;匿名方法就是没有名称的方法&#xff0c;但是有定义参数。 匿名方法最明显的好处就是可以降低另写一个方法…

Python3.1-标准库之Numpy

这系列用来介绍Python的标准库的支持Numpy部分。资料来自http://wiki.scipy.org/Tentative_NumPy_Tutorial&#xff0c;页面有许多链接&#xff0c;这里是直接翻译&#xff0c;所以会无法链接。可以大致看完该博文&#xff0c;再去看英文版。 1、先决条件 想要运行numpy&#x…

黑马Android全套视频无加密完整版

课程描述&#xff1a;java基础到javaweb开发&#xff0c;从基础入门到实战。安卓基础到实战。实体班近5个月的课程实录&#xff01;&#xff01;&#xff01;课程表&#xff1a;xml&dom_sax_dom4j编程tomcat与web程序结构与Http协议与HttpUrlConnectionjava web之servletja…

强大的CSS3动画库animate.css

今天要给大家介绍一款强大的CSS3动画库animate.css&#xff0c;animate.css定义了大概50多种动画形式&#xff0c;包括淡入淡出&#xff0c;文字飞入、左右摇摆动画等等。使用animate.css也非常简单&#xff0c;你可以给页面上的任意元素&#xff0c;特别是文字添加各种神奇的动…

有关系统环境变量的设置问题

不知道各位朋友有没有想过这样用的问题&#xff0c;我们在使用windows使用在cmd下运行Ping、Netstat等之类的命令时&#xff0c;为什么可以使用呢&#xff1f; 这些后面牵涉到哪些东西呢&#xff1f; 我们今天就来介绍下有关这方面的知识。我们现在以win8作为测试对象&#xff…

linux下安装配置jdk(解压版)

在linux下登录oracle官网&#xff0c;下载解压版jdk 传送门系统默认下载到“下载”目录中创建要将该文件解压的文件夹&#xff1a;其中 -p 参数代表递归创建文件夹&#xff08;可以创建多级目录&#xff09; 进入到下载目录&#xff0c;将下载好的jdk解压到指定目录配置环境…

谈谈Angular关于$watch,$apply 以及 $digest的工作原理

这篇文章主要是面向那些刚开始学AngularJs和想要了解数据绑定&#xff08;data-binding&#xff09;是怎么工作的&#xff0c; 如果你已经熟悉如何使用angularjs了&#xff0c;我强烈建议你不用阅读了。 angularjs使用者想要知道data-binding是如何工作的&#xff0c;就会遇到很…

Tachyon更名为 Alluxio,并发布1.0版本

详细参考 http://www.alluxio.org/releases/alluxio-1-0-0-release.html http://geek.csdn.net/news/detail/57243 http://www.alluxio.org/ Alluxio介绍 Alluxio 1.0版本&#xff0c;作为世界上首款以内存为中心的虚拟分布式存储系统&#xff0c;它能够统一数据访问并成为连接…

一幅长文细学MongoDB(四)——索引

4 索引 文章目录4 索引4.1 概述4.2 索引类型4.3 索引创建4.3 删除索引4.4 查看索引执行计划4.5 涵盖的查询4.1 概述 说明&#xff1a;索引支持在MongoDB中高效地查询。如果没有索引&#xff0c;MongoDB必须执行全集合扫描&#xff0c;即扫描集合中的每个文档&#xff0c;以选择…

【转】Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]

Fresco简单的使用—SimpleDraweeView 百学须先立志—学前须知&#xff1a; 在我们平时加载图片(不管是下载还是加载本地图片…..)的时候&#xff0c;我们经常会遇到这样一个需求&#xff0c;那就是当图片正在加载时应该呈现正在加载时的图像&#xff0c;当图片加载失败时应该呈…

对象映射工具AutoMapper介绍

AutoMapper是用来解决对象之间映射转换的类库。对于我们开发人员来说&#xff0c;写对象之间互相转换的代码是一件极其浪费生命的事情&#xff0c;AutoMapper能够帮助我们节省不少时间。 一. AutoMapper解决了什么问题? 要问AutoMapper解决了什么问题&#xff1f; 难道不是对象…

MindSpore安装教程【简洁易懂】

1 官网 MindSpore官网&#xff1a;MindSpore安装指南 2 关注社区 3 下载 查看自己python版本&#xff1a;使用python -V查看自己python版本 进入官网选择相应配置&#xff1a; 验证是否安装成功&#xff1a;python -c "import mindspore;mindspore.run_check()"&a…

一幅长文细学Vue(十三)——组合式中的生命周期

13 组合式API&#xff08;四&#xff09; 摘要&#xff1a;每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤&#xff0c;比如设置好数据侦听&#xff0c;编译模板&#xff0c;挂载实例到 DOM&#xff0c;以及在数据改变时更新 DOM。在此过程中&#xff0c;它也会运行被…

OSGI 生命周期

1 生命周期管理 对于非模块化应用&#xff0c;生命周期将应用作为一个整体来操作&#xff1b;而对于模块化应用&#xff0c;则可以以细粒度的方式来管理应用的某一个独立部分。OSGi生命周期管理 OSGi生命周期层有两种不同的作用&#xff1a; 在应用程序外部&#xff0c;定义了对…

tomcat+nginx+redis实现均衡负载、session共享

在项目运营时&#xff0c;我们都会遇到一个问题&#xff0c;项目需要更新时&#xff0c;我们可能需先暂时关闭下服务器来更新。但这可能会出现一些状况:1.用户还在操作&#xff0c;被强迫终止了(我们可以看日志等没人操作的时候更新&#xff0c;但总可能会有万一)2.不知道的用户…