0077-小升初2:废品回收

题目

小升初2:废品回收
难度级别:C; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B

试题描述

江北榨油厂每天会产生一批废料,厂方会按照日期批次封装起来等待回收。现在积攒了n天的废料,厂里财务记录下了每天产生废料合同价值。现在回收站委托星空运输公司将这n天的废料分m次回收,要求按照日期的先后顺序回收,回收站每次拨给运输公司的经费是一个定值ans,油厂老板每次允许运走的废料是不允许赊账的,所以运输公司每次运走的废料价值一定不会超过ans,若运输公司想运走第i天的废料,必须运走第i天及之前所有还没有运走的废料。对回收站来说,他的拨款不但要保证运输公司能够恰好m次运回所有的废料,而且拨款越少越好。请你编写程序求出符合回收站要求的每次拨款数额。


输入

第一行输入两个用空格隔开的正整数n和m
接下来有n个由空格隔开不超过10000正整数,依次表示每一天产生废料的价值。

输出

输出包含一个整数,即回收站每次拨款的数额

输入示例

7 5 
100 400 300 100 500 101 400

输出示例

500

其他说明

数据范围:1<=m<=n<=100000

分析

  这题算得上前100题里最难的了。要么搜索,要么二分。如果您是新手的话,可以先跳过。但理解一下,烧脑一下,还是挺好的~

  主要还是二分的思路。没学的就先别看了。

  通过读入时累加最大值和“打擂台”比较最小值确定左右端点,在通过累加当前情况所需钱数判断是否满足条件,并同时根据情况改变端点。最终当左右端点相等时即所有情况判断完成时,输出左右端点中的任意一个即可。

  搜索的代码在这里就不给了,基本和二分的代码一样,搜到了再次调用就行了。

代码

#include<bits/stdc++.h>
using namespace std;
int a[100005],m,n,sum,mid,l,r,s;
int main()
{
	scanf("%d%d",&n,&m);//本代码使用分治算法解决,若不能理解分治算法的基本思想,请勿抄袭!为自己带来不必要的损失!
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		r+=a[i];//计算最右端点。
		if(a[i]>l) l=a[i];//计算最左端点。
	}
	while(l<r)//二分条件成立。
	{
		mid=(l+r)/2;//计算当前中点。
		sum=1;
		s=0;
		for(int i=0;i<n;i++)//统计总钱数。
		{
			s+=a[i];
			if(s>mid)
			{
				sum++;
				s=a[i];
			}
			if(sum>m) break;//如果赊账了,说明该方案不行,结束统计,更改端点。
		}
		if(sum>m) l=mid+1;//右移左端点。
		else r=mid;//左移右端点。
	}
	printf("%d",l);//输出l和r中的一个端点就行。
	return 0;
}

  搜索的代码:

#include<bits/stdc++.h>//搜索涉及到对函数的调用,看不懂更别抄!!!
using namespace std;
int a[100005],n,m,maxn=-1,sum,mid,cnt;//maxn给一个很小的值方便读入和特判。
void WYH_dfs(int l,int r)
{
	if(l>=r)//和二分没有本质区别
	{
		printf("%d",l);
		return;
	}
	mid=(l+r)/2;
	cnt=1;
	sum=0;
	for(int i=0;i<n;i++)
	{
		sum+=a[i];
		if(sum>mid)
		{
			sum=a[i];
			cnt++;
		}
		if(cnt>m) break;
	}
	if(cnt>m) WYH_dfs(mid+1,r);
	else WYH_dfs(l,mid);
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		sum+=a[i];
		if(a[i]>maxn) maxn=a[i];
	}
	WYH_dfs(maxn,sum);
	return 0;
}

原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9879006.html

时间: 2024-10-10 08:25:14

0077-小升初2:废品回收的相关文章

小升初对孩子一生影响大吗

孩子的教育问题一直是众多家长和社会各界其他人士关注的焦点,这也难怪现在人们的生活水平普遍提高,对于素质教育的要求也越来越高了,每个人都希望自己的孩子长大之后能为自己家里争光,让孩子不输在起跑线上也成了很多家长发自内心的呐喊.近几年来教育行业一直非常火热,不管是择校还是课外的各种辅导班都呈现出欣欣向荣的景象,从孩子上幼儿园开始家长们便力争为孩子创造最好的教育环境,很多人更视小升初为孩子是否有前途的分水岭,似乎孩子考上好的初中上重点中学就理所应当了,上了重点初中上重点高中也就理所应当了,这样孩子考国

2016年小升初海淀区全部初中排名分析

<ignore_js_op> 二类初中 序号 学校名称 1 上地实验中学(区重点) 点评:最早是民办,而后转为公立学校.民间叫它上地101,可想而知“后台”是谁,这就差不了了.教学没得说,学风也踏实. 2 理工附中(区重点) 点评:今年高中部理科实验班平均分566,这个实力太过强劲.初中部依旧很稳当,低调的华丽. 3 建华实验(优质民办) 点评:不论二四制度还是三四制度都免中考,整体教学体验跟十一学校的二四制很像.除了学费有些贵,教学设施不能算一流,但还过得去以外,基本没有缺点了.校长是十一二

2017上海幼升小、小升初 民办学校开放日汇总

包玉刚实验学校 地址:长宁区武定西路1251弄20号(小学部)松江区三新北路900弄1800号(中学部) 开放日信息: 小学部中文组:11月10日 周四 9:30-11:00.11月24日 周四 9:30-11:00: 小学部英文组:10月25日周二 9:30-11:00.11月08日 周二 9:30-11:00 中学部:10月12日(周三)下午2:00-4:00.10月26日(周三)下午2:00-4:00 可在学校官网预约报名 http://www.ykpaoschool.cn/cn/admi

《废物星球》:隐形的、高利润、高风险、全球化的废品回收业的现状。作者是出身废品回收世家的美国记者。五星推荐

本书体裁有点像纪实文学,作者以废品回收行业的美国记者的身份,结交了中国美国的许多废品回收从业者,以讲故事的形式,逐步把这个行业的全貌展示出来. 作者的上两代都是美国的废品回收从业者.作者自己则是美国一个新闻机构的驻上海记者.出书的时候(2014年)已经在上海呆了10多年了. 全书翻译相当流畅.我注意到的唯一的一处翻译问题是把“速8酒店”翻译成了“超级8旅馆”. 以下是书中的一些信息和观点: 1:全球回收也每年的营业额高达5000亿美元,约等于挪威的国内生产总值,是全球雇员仅次于农业的行业: 2:

重庆废品回收:废品没处放,我来帮您忙。

关爱健康,关爱生命,废品回收,从我做起.重庆废品回收是当代走可持续发展前进路线的根本,说通俗点就是将不想用的,不能用的通过科学手段在成为可用之材料.在全球资本缺乏的今日,节省资源,维护生态坏境的呼声越来越高,资源在收回利用越来越受到各个国家的注重.在发达国家中,资本收回的技术手段成熟,现在的中国仅仅刚起步. 节约资源,变废为宝,废品的再次利用 废品的丢弃时生产成本中的一个重要环节,怎么操控废品丢失对出产企业来说是一个十分值得关注的课题.怎么降低废品随时即是要提高产品的出产成功率,只有找到好方法才

废品回收进行中,你还在等什么,有废品我们收。

重庆废品回收公司介绍我国各行各业都在飞速行进,在展开的背面必定会有废旧物资被挑选丢掉.在不断出产新产品,抛弃挑选旧产品的一同,世界各地资源是有限的,把这些旧设备回收起来再出产运用成为新产品就成了当务之急.特别是金属作业,资源不可再生,今天我们就用重庆废铁回收来举例,对于废铁再生方面国家发作的有关举动. 随着市场需求逐年上升,铁材料缺少疑问困惑着很多公司,因而再生铁工业竞争力也在加强.公司对铁货源缺少非常忧虑,国内很多再生铁公司都在市场中初步了剧烈竞赛. 重庆废铁回收潜力现已初步开端,废铁加工公司

【尝新】微信小程序初体验

文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474644089434 根据文档地址中下载微信开发工具后,按照文档指引可以创建一个快速体验的小demo ,样例中的文件说明如下: 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page. 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: app.js 是 小程序逻辑 app.json 是 小程序公共设置 app.wxss 否 小程序公共样式表 一个小程序页面由四个文

微信小程序初体验遇到的坑

今天,2017年1月9日凌晨,微信小程序如约上线.2007年1月9日,整整10年前的今天,苹果的iPhone手机正式问世! 经不起新技术的诱惑了,想试着开发一下看看.刚开始遇到很多坑,在这里记录一下,有遇到同样坑的可以参考 1.我用的是mac版本的开发工具,运行官方demo后报错 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDhttp://1351598279.appservice.open.weixin.qq.com/appservice

小程序初体验:手把手教你写出第一个小程序(一)

本文笔者将根据quick start中的范例代码,带大家简单地剖析一下小程序的运行方式,并介绍小程序开发中一些通用的特性,带着大家一步步写出自己的小程序. 适用对象:前端初学者,对小程序开发感兴趣者 tips:由于笔者也是一位前端菜鸟,所以尽量用简单直白的语言为大家讲解,如有说的不到位的地方,还望多多指教. 吊了我们一年胃口的小程序终于和大家见面了.经过了一天的发酵,小程序已经成为了今天的超级头条(汪汪哭晕在厕所). 经历了一天媒体对小程序的狂轰滥炸,相信大家对于小程序一定充满了好奇.与其跟风转