NOJ1052水王争霸——理解

拳王争霸 c 源程序 拳王争霸 源程序,不敢独享,特贴上来分享,喜欢的拿去研究了。。。。 立即下载

水王争霸

时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
总提交:145            测试通过:57

描述

       为了丰富校园网络生活,学校 BBS 举行了一次水王争霸赛。比赛开始后,选手们疯狂灌水,都想争取到水王这个荣誉称号。但学校的 BBS 是如此的不堪一击,才 1e-3 秒就超负荷了。
       现在需要把选手们灌的水集合起来,降低服务器负荷。
       事情是这样得到处理的:
       假设每个选手每次灌水量为1L,每灌一次水,服务器就用一个容量为无限的虚拟容器收集这1L水。
       最后服务器中有N个容器收集了水。而服务器最多能负载K个装了水的容器。但是,服务器只有一种自救措施:就是把两个装了同样多水的容器合并到这两个容易中的其中一个,另一个空了的直接free它。
然而不能排除这种情况的存在:通过自救方式,仅由选手们灌好的N容器水不能恰恰好收集成不超过K个非空容器来装。比如,N=3,K=1的时候,无论如何收集,都只能得到容量分别为1L和2L的两个非空容器,不可能得到符合要求的1个非空容器。幸运的是,服务器还有一点点空间,允许你再灌若干次水,使得 BBS 恢复正常。拯救服务器中的虚拟世界这个艰巨而光荣的任务就落到你身上了。

输入

有1000组输入数据,每组输入数据一行,包含两个正整数N、K,其中N不超过10,000,000,K不超过1,000。

输出

输出最少需要继续灌水的次数,如果不可能拯救服务器,输出-1。

样例输入

3 1
13 2
1000000 5
100 100

样例输出

1
3
15808
0

题目来源

wwm


分析:难点在于题目不是很好理解~疑问

实际含义:N代表一共有多少人灌了水,每个人灌水就相当于一个1L水的容器。每2个装了相同多的水可以合并成1个容器,即2个变1个,少了一个容器。

最后的容器要 ≤ K。

举例:N=3,K=1的时候,即有3个人灌水,每人灌水1L,有3个容器。则其中2个1L的容器可以合并成2L的,还剩下一个1L的,现在总共有2个容器,且不能再合并了,所以不满足 ≤ 1。

解决方法是“我”可以再灌若干次水使得最后的容器总数 ≤ K。以上例来说,我再灌1次水,即又多了一个1L的容器。则此时2个1L的又能合并成一个2L的,之后又能和最先合并成的2L合并成4L的容器。最后总共1个容器。满足条件,所以输出最少需要继续灌水的次数为1。


So:2^n个1L能合并成1个容器,且容量为2^n L。

例如输入13 2 时,13=2^3+2^2+1,所以现在需要3个容器,但是3 > 2,所以再灌水1次,13=2^3+2^2+2^1,Again,13=2^3+2^2+2^1+1,Again,13=2^3+2^3=2^4。Done!

所以创建数组sjh[]:sjh[0] = 1,sjh[1] = 2,sjh[2] = 4,sjh[3] = 8。。。

数组的个数即为需要的容器数量。关键在于我每次灌水之后的合并~


了解des!开动~就是奇偶啊,倍数啥的~

注意输入数据有1000组。

#include<stdio.h>

//水王争霸

int main()
{
	int counts = 1000, n, k, sjh[100], sum, num, V;
	while(counts --)
	{
		sum = 0; // init
		num = 0; V = 1; // num个容器, V多少升
		scanf("%d%d",&n,&k); // n个1L
		while(n)
		{
			if(n % 2 == 1)
				sjh[num++] = V;
			n /= 2;
			V *= 2;
		}

		int i = 0;
		while(num > k)
		{
			sum += sjh[i+1] - sjh[i];
			sjh[i] = sjh[i+1];
			while(sjh[i] == sjh[i+1]) // 循环合并
			{
				for(int j=i+1;j<num-1;j++) // 减小数组
					sjh[j] = sjh[j+1];
				num --;

				sjh[i] *= 2;
			}
		}
		printf("%d\n",sum);
	}

	return 0;
}





FAA和EASA在机载电子硬件适航中的发展历史与差异 FAA和EASA在机载电子硬件的适航审查中虽然存在一些差异,但通过近年来的合作,这些差异正在逐步缩小。两者通过。 阅读详情

相关推荐

别再只插线了!用示波器‘偷看’USB-C PD协议握手全过程(附BMC/4B5B编码解析)

本文详细介绍了如何使用示波器捕获并解码USB-C PD协议的握手过程,包括BMC/4B5B编码的解析技巧。从硬件配置到波形分析,再到协议注入,为工程师提供了一套完整的实战解码手册,帮助深入理解PD协议的工作原理。

weixin_42526417的博客 404

水王争霸题解

水王争霸 题目描述 众所周知,现在各大论坛有很多水王,他们的发帖数是如此之多,以至于必须要用高精度数才能保存。现在ACMForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2018年3月1日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。终于,激动人心的一刻来了,2018年3月2日0时0分0秒,你作为裁判得到了每个水王的发帖数,现在,你的任务是公正地把这些水王按照发帖数从大到小进行排序。 输入输出格式 输入格式: 第一

qq_57360246的博客 1208

信号完整性仿真SI之Cadence Sigrity SPEED2000_眼图仿真(四)

今天给大家分享一个仿真的操作流程,是关于Cadence Sigrity SPEED2000的时域波形仿真和眼图仿真。我们会经常看见硬件工程师调试示波器上的一些信号的波形变化,其实这些也可以通过仿真电路的搭建来做出投板前的仿真,来优化走线,以减少版本的迭代次数。如果要和实际的信号保持一致,就要求仿真设置的参数和实际的参数保持一致,这也是仿真的重点和难点。下面先让我们了解一下Cadence Sigrity SPEED2000时域仿真的操作流程: 1.仿真模式选择与文件导入 选择Cadence Sigrity下的

刘小同学的博客 1万+

【排序】水王争霸

sort

还有一年 330

liquibase介绍

1、Liquibase还是Flyway Flyway和Liquibase都支持专业数据库重构和版本控制所需的所有功能,因此您将始终知道要处理的数据库模式的版本以及它是否与软件版本匹配。两种工具都集成在Maven或Gradle构建脚本中以及Spring Boot生态系统中,因此您可以完全自动化数据库重构。 Flyway使用SQL定义数据库更改,因此您可以定制SQL脚本,使其与基础数据库技术(例如Oracle或PostgreSQL)良好地配合使用。另一方面,使用Liquibase,您可以通过使用XML,YA

赶路人儿 7534

【Java】利用反射执行Spring容器Bean指定的方法,支持多种参数自动调用

目录 使用情景 目的 实现方式 前提: 思路 核心类 测试方法 使用情景 将定时任务录入数据库(这样做的好处是定时任务可视化,也可以动态修改各个任务的执行时间),通过反射执行对应的方法; 配合Netty实现简单的HTTP请求处理框架 其他需要使用反射执行Spring方法的业务亦可 目的 很多文章都提到了反射,但是对于方法参数处理这一块都是明确了类型,不支持按照实际参数动态转换,而本篇文章提供了一个思路怎么做到方法参数的动态调用。 大家也可以...

ITjianshuzhai的博客 2334

问题 L: 【排序】水王争霸

总在不经意的年生,回首彼岸,纵然发现光景绵长。 题目描述 众所周知,现在各大论坛有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。现在ACMForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2007年4月28日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。终于,激动人心的一刻到来了,...

0k-ok 928

从0到1:用Claude 3.7十日拿下教育部课题申报书(附可修改LaTeX模板)

🟣"作为教育部人文社科项目评审专家,请根据近三年立项数据分析,为[您的学科方向]领域推荐5个具有创新性且符合'十四五'规划的重点选题,要求选题体现交叉学科特征,并标注潜在理论突破点"🟣"根据前期研究基础,创建包含4个研究模块、12个关键节点的三维技术路线图,要求体现实验仿真-实证研究-理论建模的螺旋递进关系,并标注每个节点的预期成果形态"🟣"现在切换至教育部学科评审组组长模式,从选题价值、创新程度、研究可行性三个维度对本申报书进行盲审,生成包含9个扣分风险点的诊断报告及修改优先级排序"

智能AI让学术科研更容易 545

水王争霸

每灌一次水,服务器就用一个容量为无限的虚拟容器收集这1L水。

sundujing的博客 1313

Vue - 超强实现网页禁止浏览器缩放功能,浏览器缩放时保持网页不变形、元素不会被挤压等,屏蔽浏览器鼠标滚轮缩放页面(提供详细示例代码,一次引入整个网站无人可以搞乱你的页面布局及样式)

vue,nuxt,禁止浏览器缩放,如何用户缩放浏览器导致页面变形,网页缩放后页面变形了怎么办,怎么解决网站被缩放后元素乱套错乱,vue怎么禁止网页不被缩放,vue如何禁止浏览器缩放,vue缩放网页变形影响布局怎么办,vue电脑分辨率及缩放导致页面变形的问题,前端页面解决浏览器或者系统被放大和缩小导致的显示问题,Vue中页面自适应缩放,如何防止Vue页面缩放时变形/调整大小,Vue项目中,防止页面被缩放和放大,vue等比例缩放网页,网页缩放后界面变形咋办,禁止页面缩放,vue禁止浏览器改变窗口大小,Vue项目

🏆 前端领域优质创作者 1万+

置顶必读(2) |《滚雪球学数学建模》专栏目录 & 历年国赛/美赛真题库 & 真题解析(持续更新中)

本专栏《滚雪球学数学建模》采用“从零开始、逐步滚雪球”的学习路径,把数学建模的基础理论、方法工具与大量实战真题(尤其是国赛题,涵盖2025-1992所有真题)有机融合,形成一套系统化训练路线。非常适合零基础入门、希望提升模型与工程化能力的本科/研究生,以及备战全国大学生数学建模竞赛(国赛/省赛)的同学。加油,我们一起把建模能力打造成可迁移的核心竞争力!

**My Coding Family** 26万+

SSL1549 水王争霸

水王争霸 Description   众所周知,IOIForum有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。    为了迎接国庆,IOIForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2003年9月30日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。    终于,激动人心

闲人请进 554

作物生长模型Oryza V3实战1:为什么要研究它

ORYZAV3是水稻生长模拟模型ORYZA2000的最新升级版本(3.5版),作为作物生长模型,它通过数学方法和计算机技术模拟水稻生长发育过程及其与环境条件的相互作用。主要功能包括:模拟不同条件下的水稻生长和产量形成、评估环境胁迫影响、分析土壤碳氮动态以及进行区域尺度模拟。国内应用广泛,科研机构用于气候变化影响评估、灌溉模式比较等研究,并开展参数敏感性分析和应用培训。使用流程分为六个步骤:确定输入参数(气象、土壤、作物三类)、参数校准、设置模拟环境、运行模型、分析结果(输出50个参数)和计算产量(穗干重×收

505

水王争霸【快排序】【原创】不喜勿喷

【题目描述】   众所周知,现在各大论坛有很多水王,他佃的发贴数是如此之多,以至于必须要用高精度数才能保存。现在ACMForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2007年4月28日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。终于,激动人心的一刻到来了,2007年4月29日0时0分0秒,你作为裁判得到了每个水王的发贴数,现在,你的任务是公正地把这些水王按照发贴数从大到小进行排序。 【输入格式】 输入的第.

chenhaonan8772的博客 248

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

发帖水王

寻找所有帖子中,帖子总数超过一半的作者,每个作者的ID是唯一的。 第一种解法:将这些ID全部排序假设有N个,则第N/2项的ID一定是“水王”的ID。这里排序的时间最少需要NlogN。 第二种解法:可以采用分治的思想,每次删除2个不同的ID,则剩下的ID中,“水王”的ID出现次数仍然超过总数的一半。 Type Find(Type *ID,int N) { Type candicate; i

小菜鸟 759

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

c语言水王争霸链表,水王争霸(water)

水王争霸(water)【题目描述】众所周知,现在各大论坛有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。现在ACMForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2007年4月28日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。终于,激动人心的一刻到来了,2007年4月29日0时0分...

weixin_36194075的博客 523

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

水王争霸 SSL_1549

题一 水王争霸1549 问题描述:你作为裁判得到了每个水王的发贴数,你的任务是把这些水王按照发贴数从大到小进行排序。输入格式:输入的第一行是一个1到1000的整数N,表示总共有N位水王参加了争霸赛。一位水王的描述占据两行,第一行为长度不超过20的字符串,代表ID,第二行一个高精度的整数(非负数),代表发贴数。首位没有0。所有水王发贴数的总长度(注意,是总长度而不是总和)不会超过10000。输入中不...

SSLGZ_CJX的博客 944

【多级排序】水王争霸

输入的第一行是一个1到1000的整数N,表示总共有N位水王参加了争霸赛。 以下依次给出每位水王的描述,一位水王的描述占据两行,第一行为一个仅由字母和数字组成的长度不超过20的字符串,代表这个水王的ID,第二行一个高精度的整数(非负数),代表这个水王的发贴数。注意,这个整数的首位没有不必要的0。 考虑到IOIForum的数据库是有限的,所有水王发贴数的总长度(注意,是总长度而不是总和)不会超过100

IronCarrot's Blog 3377

1052-水王争霸

描述 为了丰富校园网络生活,学校 BBS 举行了一次水王争霸赛。比赛开始后,选手们疯狂灌水,都想争取到水王这个荣誉称号。但学校的 BBS 是如此的不堪一击,才 1e-3 秒就超负荷了。 现在需要把选手们灌的水集合起来,降低服务器负荷。 事情是这样得到处理的: 假设每个选手每次灌水量为1L,每灌一次水,服务器就用一个容量为无限的虚拟容器收集这...

weixin_30668887的博客 209

【SSLGZ 1549】水王争霸

问题描述 众所周知,IOIForum有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。   为了迎接国庆,IOIForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2003年9月30日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。   终于,激动人心的一刻到来了,2003年

Fallen_Angel001的博客 2438

水王争霸 训练

水王争霸 描述 众所周知,IOIForum有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。 为了迎接国庆,IOIForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2003年9月30日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。 终于,激动人心的一刻到来

Unclebighead的博客 1222

1549 水王争霸

题目 题解 代码题目众所周知,IOIForum有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。   为了迎接国庆,IOIForum决定举行一次水王争霸赛,比赛的规则是将这些水王截止到2003年9月30日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。   终于,激动人心的一刻到来了,2003年

戒毒戒赌戒网瘾,学习学问学做人——好好学习 840

c语言水王争霸链表,专题1-1(线性表基础).ppt

专题1-1(线性表基础)ADT Queue { 数据对象: D={ai | ai∈ElemSet, i=1,2,...,n, n≥0} 数据关系: R1={ | ai-1, ai ∈D, i=2,...,n} 约定其中a1 端为队列头, an 端为队列尾 基本操作: 1.3.4 队列的类型定义 } ADT ...

weixin_34736362的博客 306
上一篇: NOJ1051最短路径——计算几何+枚举+边与矩形判断+最短路径
下一篇: NOJ1053恶魔城——DFS+二分查找
tcherry
博客等级 码龄16年 46粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值