NOIP2012模拟试题【奶牛晒衣服】

1.奶牛晒衣服(dry)

【问题描述】

     在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是,为牛宝宝洗晒衣服就成了很不爽的事情。

圣人王担负起了这个重任。洗完衣服后,你就要弄干衣服。衣服在自然条件下用1的时间可以晒干A点湿度。抠门的熊大妈买了1台烘衣机。使用烘衣机可以让你用1的时间使1件衣服除开自然晒干的A点湿度外,还可烘干B点湿度,但在1的时间内只能对1件衣服使用。

N件的衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为0为干)。

【输入】

      第一行N,A,B;接下来N行,每行一个数,表示衣服的湿度(1≤湿度,A,B≤500000,1≤N≤500000)。

【输出】

      一行,最少时间。

【样例】

    dry.in

    3 2 1

3

    dry.out

    1

【样例解析】

     第1个时间内,用机器处理第3件衣服,此外,所有衣服自然晒干2。花费1时间全部弄干。

 

刚拿到题的时候以为是dp,TAT因为一大早就和和另一个妹子在看容斥原理,满脑子都是dp(/手动再见,我就是这么蠢)

后来才知道是非!常!简!单!的一个队列题!啊啊啊啊啊啊啊啊l(っ*´Д`)っ!

(为啥我这么蠢啊!)

因为随着时间的增加,只要没有晾干的衣服都会进行湿度-a的操作,所以我们可以直接用一个变量sum来记录总共要减去的湿度,就不需要每次都把每件衣服都减去a了

下面的代码有足够的注释=v=不再多说

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<queue> //*** 
 4 #include<algorithm>
 5 using namespace std;
 6 priority_queue<int>q;//*** 
 7 int n,a,b;
 8 int w;
 9 void read()
10 {
11     scanf("%d%d%d",&n,&a,&b);
12     int w;
13     for(int i=1;i<=n;i++) 
14     {
15         scanf("%d",&w);
16         q.push(w);//将湿度入队; 
17     }
18     int sum=0;
19     int t=0;
20     while(!q.empty())//如果队列不为空,即还有衣服没晾干; 
21     {
22         int k=q.top();
23         if(k<=sum){
24             printf("%d",t);
25             return;
26         }//如果无需烘干,即当前的自然晒干的湿度的总和>衣服的湿度,直接打印; 
27         else{//需要烘干机; 
28             q.pop(); 
29             k-=b;//烘干机操作后的湿度; 
30             sum+=a;//自然晒干的湿度的总和等于这一次操作之前适度的总和加这一次的晒干的湿度; 
31             t++;//时间加一; 
32             q.push(k);//将k再次入队判断(因为k还没有晾干所以还需要更多的时间) 
33         }
34     }
35     printf("%d",t);
36 }
37 int main()
38 {
39     freopen("dry.in","r",stdin);
40     freopen("dry.out","w",stdout);
41     read();
42 }
队列

 

转载于:https://www.cnblogs.com/orange-/p/4886522.html

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

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

相关文章

PYTHON REQUESTS的安装与简单运用

PYTHON REQUESTS的安装与简单运用 2013.07.09强烈推荐&#xff01;requests官方文档已有了中文版&#xff0c;请见http://cn.python-requests.org/zh_CN/latest/ 。 requests是python的一个HTTP客户端库&#xff0c;跟urllib&#xff0c;urllib2类似&#xff0c;那为什么要用re…

7. 堪比JMeter的.Net压测工具 - Crank 总结篇 - crank带来了什么

1. 前言通过上面的学习&#xff0c;我们已经了解清楚crank的职责以及作用&#xff0c;那么我们重新回来思考一下&#xff0c;crank能为我们带来什么&#xff1f;2. Crank带来了什么&#xff1f;为分布式压测提供了解决方案、可以模拟更高强度的压测单机压测最多提供65535&#…

3732: Network

3732: Network Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 395 Solved: 179[Submit][Status]Description 给你N个点的无向图 (1 < N < 15,000)&#xff0c;记为&#xff1a;1…N。 图中有M条边 (1 < M < 30,000) &#xff0c;第j条边的长度为&#xff1a; …

Android编译出现XML or text declaration not at start of entity

1、问题 运行Android项目的时候提示出现这个XML or text declaration not at start of entity 日了狗前几天都正常2、解决办法 原来是我的一个xml文件的头部有空格&#xff0c;去掉了就好了。

我的CSDN,我的编程生涯

我的CSDN&#xff0c;我的编程生涯&#xff0c;由此开始&#xff0c;加油&#xff01;

里rust怎么找蓝图_Rust错误处理

错误处理是程序开发中必不可少的一个环节&#xff0c;在Rust中&#xff0c;错误分成两个类别&#xff1a;可恢复错误和不可恢复错误。 可恢复错误&#xff1a;比如说未找到文件&#xff0c;Rust中用Result<T,E>来实现 不可恢复错误&#xff1a;比如数组访问越界&#xff…

转载牛X文章

2019独角兽企业重金招聘Python工程师标准>>> Java中有关Null的9件事&#xff1a; http://www.importnew.com/14229.html 深入理解java异常处理机制&#xff1a; http://blog.csdn.net/hguisu/article/details/6155636 Android JNI知识简介&#xff1a; http://blog.…

Android Listview中Button按钮点击事件冲突解决办法

今天做项目时&#xff0c;ListView中含有了Button组件&#xff0c;心里一早就知道肯定会有冲突&#xff0c;因为以前就遇到过&#xff0c;并解决过&#xff0c;可惜当时没有记录下来。 今天在做的时候&#xff0c;继续被这个问题郁闷了一把&#xff0c;后来解决后&#xff0c;赶…

使用.Net6中的System.Text.Json遇到几个常见问题及解决方案

前言以前.NetCore是不内置JSON库的&#xff0c;所以大家都用Newtonsoft的JSON库&#xff0c;而且也确实挺好用的&#xff0c;不过既然官方出了标准库&#xff0c;那更方便更值得我们多用用&#xff0c;至少不用每次都nuget安装Newtonsoft.Json库了。不过日常开发使用中会有一些…

Android开发之运行客户的Demo拿不到数据

1、问题 自己照着客户的Demo写发现拿不到数据&#xff0c;很奇怪&#xff0c;检查不出哪里有问题2、思考 我自己写的东西和Demo本质上没有区别&#xff0c;但是就是拿不到数据&#xff0c;这尴尬了&#xff0c;后面发现我是在onCreate里面直接初始化然后马上调用&#xff0c;客…

C#系统开发登录窗体在MDI窗体之前显示

通常,系统运行时的启动窗体是MDI窗体,起作用的是main()函数的Application.Run(new Mdi())语句,但我们的效果是先显示登录窗体,再显示Mdi窗体。此时,如果将该句改为Application.Run(new Login()),运行时虽可出现登录窗体Login,但Mdi窗体会闪一下然后隐藏。解决办法: …

python测试之道pdf百度云_Python测试之道——笔记1

引言如果利用python做自动化测试的话&#xff0c;一些python相关的基础知识是必须要掌握的。常用的比如&#xff1a;python代码规范、变量与数据类型、运算、函数和字符串处理等。语法规范这里只介绍重点和常用的一些注意事项。在使用python编码的时候&#xff0c;我们应该严格…

libcurl实现解析(3) - libcurl对select的使用

1.前言 在本系列的前一篇文章中。介绍了libcurl对poll()的使用。參考"libcurl原理解析(2) - libcurl对poll的使用"。 本篇文章主要分析curl_poll()中对select()的封装使用。与前一篇类似&#xff0c;我们仅仅分离出与select相关的代码。 2.curl_poll函数分析 这个函数…

C#子窗体运行时无法正常最大化的解决办法

通常情况下,要是一个窗体运行时最大化,最简单的做法就是鼠标捏一下将窗体的WindowState属性设为Maximized。但要是一个窗体是MDI的子窗体的话,以上做法就失灵了!这是我们就选择用代码控制,示例代码如下: Education_Train TE = new Education_Train(); TE.MdiParent = thi…

C和指针之高级指针话题通过函数指针实现在链表中找到特定的值

1、问题 通过函数指针实现在链表中找到特定的值,这里可以是int 类型或者char *类型 思路: 整形数据自己写比较函数,字符串比较用strcmp,然后把这个函数指针传递到函数作为参数。 2、代码实现 #include <stdio.h> #include <string.h>typedef struct No…

internet访问局域网内部方法之----------路由器端口映射

很多人每天都问为什么要端口映射&#xff1f;例如:通过路由器上网的&#xff0c;网站自己可以访问&#xff0c;但是别人就不能&#xff1b;输入127.0.0.1可以访问&#xff0c;别人还是看不到&#xff1b;输入localhost可以看到&#xff0c;但是别人就是看不到&#xff0c;气人啊…

Xamarin效果第四篇之CollectionView子项右侧布局

前面基于PopupPage然后实现了手机底部弹窗;今天再次基于他从手机右侧弹出一个可以交互的窗口;直接看看最终实现的效果:右侧弹窗不是重点主角是排行榜:我还是直接使用CollectionView然后对于头像那一块还是CollectionView然后通过修改他的子项和Header模板然后旋转让子项从右侧布…

由于TempDB设置错误导致SQL Server无法重启错误的解决方案

场景&#xff1a;前几天接到一个朋友的电话&#xff0c;说他们由于将TempDB设置错误导致SQL Server无法重启&#xff0c;让我帮忙看看。他们本来是想将TempDB的文件挪动到其他路径,比如准确的脚本应该是&#xff1a; USE master GO ALTER DATABASE tempdb  MODIFY FILE (…

知道经纬度用python画路线图_神级程序员教你用Python如何画一个中国地图!(好好玩)...

为什么是Python先来聊聊为什么做数据分析一定要用 Python 或 R 语言。编程语言这么多种&#xff0c; Java , PHP 都很成熟&#xff0c;但是为什么在最近热火的数据分析领域&#xff0c;很多人选择用 Python 语言&#xff1f;数据分析只是一个需求&#xff0c;理论上来讲&#x…

判断一个偶数(大于4)是不是两个素数之和

问题:编制具有如下原型的函数sushu(int n),用来判断整数n是否为素数; 而后编制主函数,任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数(通过调用sushu函数来判断素数)。如偶数18可以分解为11+7以及13+5;而偶数80可以分解为:43+37、61+19、…