BZOJ1110: [POI2007]砝码Odw

STM32H723串口接收全为0 & CAN错误中断问题 STM32H723串口接收全为0 和 叠加的导致CAN错误问题 阅读详情

题目大意:给定一些容器和砝码,保证任意两个砝码之间存在正整数倍数关系,求最多能放进去多少砝码


首先把所有重量相同的砝码扔到一起,因为都是正整数倍,所以最多有logN种不同的砝码

然后考虑放置,首先砝码肯定要从最小的先开始放

那么我们考虑放置某一组砝码的时候优先放到哪个盒子里,这个其实可以由后一组砝码来决定,也就时先把当前容器装下后面砝码的残余空间计算出来,然后把砝码优先向这些残余空间里放,如果放不下再从小的容器开始放,这样贪心就是对的了!!

PS:忘了排序居然能得94分2333333


#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 100010
using namespace std;
long long w[N],a[N];
int main()
{
	long long n,m;
	scanf("%lld%lld",&n,&m);
	long long i,j,k,l,x,y;
	for(i=1;i<=n;i++)
	scanf("%lld",&w[i]);
	for(i=1;i<=m;i++)
	scanf("%lld",&a[i]);
	sort(w+1,w+n+1);
	sort(a+1,a+m+1);
	long long RE=0;
	for(i=1;i<=n;i++)
	w[i]/=a[1],RE+=w[i];
	long long ans=0;
	for(i=1;i<=m;i=j+1)
	{
		j=i;
		while(j<m&&a[j+1]==a[j]) j++;
		x=j-i+1;
		if(j==m)
		{
			if(RE<=x) {ans+=RE;break;}
			ans+=x;
		}
		else
		{
			if(RE<=x) {ans+=RE;break;}
			ans+=x;
			long long tmp=a[j+1]/a[j],tot=0;
			for(k=1;k<=n;k++)
			{
				tot+=w[k]%tmp;
				w[k]/=tmp;
			}
			if(tot<x)
			{
				x-=tot;
				x=x/tmp+((x%tmp)!=0);
				for(k=1;k<=n;k++)
				{
					if(w[k]>=x) {w[k]-=x;break;}
					else x-=w[k],w[k]=0;
				}
			}
			RE=0;
			for(k=1;k<=n;k++)
			RE+=w[k];
		}
	}
	printf("%lld",ans);
}

content-pipeline:一条可落地的内容生产流水线 content-pipeline 是一种将内容创作工程化的系统性方法,其核心在于用确定性流程替代碎片化人工操作。它基于结构化提示(prompt)、预置叙事框架与品牌参数固化三大原理,实现从素材输入到多平台发布的端到端自动化。技术价值体现在显著降低认知负荷、保障输出一致性、支持本地化资源绑定与闭环反馈校验。典型应用场景包括技术教程批量生成、跨平台(公众号/小红书/即刻)内容适配、AI写作质量可控迭代等。本文深入解析其作为‘内容制造业’基础设施的底层设计逻辑与实操路径,尤其聚焦Claude Code环境下的真实 阅读详情

相关推荐

Python实战:3种高效方法将txt转csv(附pandas对比测试)

本文针对Python中将txt文件转换为csv格式的需求,深度评测了open()、csv模块和pandas三种主流方法。通过详尽的性能对比测试,从执行效率、内存占用和适用场景等维度提供选型指南,帮助开发者根据数据规模与复杂度选择最高效的转换方案。

weixin_29073241的博客 263

ROS小车仿真进阶:手把手教你用Gazebo建图并实现自主导航(附完整代码)

本文详细介绍了如何在Gazebo仿真环境中实现ROS小车的建图与自主导航全流程。从Ubuntu20.04环境配置、Gazebo世界构建,到SLAM建图实战和move_base导航系统实现,提供了完整的代码示例和参数优化建议,帮助开发者快速掌握机器人仿真与导航核心技术。

ailiao2015的博客 691

数电-基于FPGA的自动售货控制系统设计

本次数电的课程设计是设计一款基于FPGA的自动售货控制系统,因为手上暂时没有FPGA的板子,所以先采用proteus仿真进行设计,观察系统效果,等之后FPGA板子下发,再移到quartus上调试和下载。同样是自己第一次自主设计电路系统,可能在功能上不完整或者逻辑上有错误,大家多多包涵,欢迎沟通交流。

gg1067的博客 2293

【进制】BZOJ1110[砝码Odw]题解

题目概述有n个砝码,m个背包(n<=10^5,m<=10^5),每个背包大小为mi(mi<=10^9),每个砝码的大小为wi(wi<=10^9)。每两个砝码之间总有一个砝码是另外一个的正整数倍(也就是说可以相同)。解题报告因为题目里的砝码都是倍数关系,所以我们排序去重之后最多会得到30个砝码(log2(n)),然后对于一个背包,可以将他拆分成一个对应砝码的“数”。如果觉得有点难理解,我们拿这个例子说

ZigZagK的博客 532

Python 爬虫实战:简易爬取知乎回答内容

本文详细介绍了使用Python爬取知乎回答内容的实战方法。通过分析知乎异步加载API接口,讲解如何构建带反爬策略的爬虫代码,包括请求头设置、JSON数据解析和内容清洗等核心步骤。文章提供了完整可运行的代码示例,并针对多页爬取、数据保存和反爬升级给出优化建议。同时强调爬虫使用的合规性,帮助新手快速掌握动态网页爬取的核心技巧,实现从静态到动态网页爬虫的进阶。

2503_91057718的博客 2196

【图论】系列(七)图论的中心性度量方法及重要性评价指标

图论中的中心性度量方法是用来衡量图中各个节点(或顶点)相对重要性的指标。

qq_30066733的博客 1077

【BZOJ】1110: [POI2007]砝码Odw

题意 给定\(n\)个砝码和\(m(1 \le n, m \le 100000)\)个背包\((1 \le n_i, m_i \le 1000000000)\),保证对于任意两个砝码都有一个是另一个的正整数倍,求最多拿走多少砝码。 分析 砝码的种类不会超过\(30\)种。 小的肯定在大的前面放。 题解 分出\(s\)种种类后,我们将背包用\(s\)个数的进制来表示。那么从小到大地放,如果...

202

海思芯片YOLOv8模型部署完整指南:从RPN硬化到8bit量化精度优化

本文详细介绍了在海思芯片平台部署YOLOv8目标检测模型的完整方案,重点解决8bit量化精度损失问题。通过分析海思RPN硬化层的性能优势(1.9ms推理时间),对比不同量化策略(16bit仅损失0.6AP,8bit损失5.2AP),并深入定位到strides计算层是量化误差的主要来源。关键突破在于采用混合精度策略(敏感层16bit,其余8bit),使8bit量化AP回升4.1%,同时保持3.4ms的推理速度和60%的低NPU占用率。文章还提供了量化参数调整、校准数据集优化等进阶技巧,为边缘计算应用提供了性能

FJN110的博客 732

bzoj 1110: [POI2007]砝码Odw 贪心

题意有m个砝码,每个砝码有一定的重量w,且满足若w[i]<=w[j]则w[j]必为w[i]的倍数。现在有n个容器,每个容器都有一定的容量,问最多可以放多少个砝码进容器里面。 n,m<=100000分析背包……显然不可做。那么就考虑贪心咯。我一开始的想法是二分答案,然后每次把最大的砝码放进剩余容量最大的容器里面,然后用一个优先队列来维护,但复杂度是O(nlog2)O(nlog2),信仰不够所以没去打

beginend 654

深度学习在移动开发中的应用:实时姿态估计实战

我们将使用TensorFlow Lite框架,结合专为移动端优化的MoveNet模型,实现一个能够在主流Android设备上达到30FPS的多人姿态跟踪解决方案,并深入探讨其优化技巧和实际应用场景。特别是3D姿态估计、多人长期跟踪等前沿技术的发展,将进一步推动移动端姿态估计技术的应用深度和广度。在下一篇文章中,我们将探讨深度学习在移动端的另一个创新应用:实时手势识别,包括如何在资源受限的环境中实现复杂手势的实时识别,以及这项技术在AR/VR交互、智能家居控制等场景中的应用。第四部分:典型应用场景实现。

Programming Talk 325

零基础DSP实战TMS320F28035:第九节,ADC比较器&EPWM

ADC比较器框图如下所示:-电压-----------------------------输出-电压A>电压B------------------ 1-电压A

sinat_30943509的博客 2535

bzoj 1110: [POI2007]砝码Odw

题意: 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作。公司有一些固定容量的容器可以装这些砝码。他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码。每个容器可以装的砝码数量有限制,但是他们能够装的总重量不能超过每个容器的限制。一个容器也可以不装任何东西。任何两个砝码都有一个特征,他们的中总有一个的重量是另外一个的整数倍,当然他们也可能相等。 题解: ...

fyc的博客 287

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

BZOJ 1110: [POI2007]砝码Odw

看了题解,发现是用进制转换来做。这种题不看题解谁会想到用进制转换这种冷门东西??? 知道是进制转换就很容易了,就变成了一道贪心+模拟题。 首先,进制是a[1],a[2],a[3],…a[n],然后将所有容器体积都加入,可以得到一个(会变的)进制数:xxxxxxx…xxxxx。 考虑到只需要求有几个砝码能够被装下,而不用求利用率,所以是道贪心,从小到大进行放置显然优秀。于是我们就从小到大放置砝码,这...

Love_xyh的博客 235

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

BZOJ1110 : [POI2007]砝码Odw

砝码从小到大放最优,二分答案mid,转化为判定前mid小的砝码能否放完。 从大到小考虑砝码,依次扫描每个容器,能放就放。 由于砝码重量都成倍数关系,所以最多只有$O(\log n)$种不同的数字,所以总复杂度为$O(n\log^2n)$。 #include<cstdio> #include<algorithm> #define N 100010 int...

weixin_30663391的博客 94

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

bzoj1110: [POI2007]砝码Odw

神题 考虑到有倍数关系这个条件,所以可以运用进制的思想,比如当有3,9,18,54这些种类的砝码时,133的容量可以写成2*54+1*18+0*9+2*3+1,末尾的+1永远用不上,可以舍弃,那么各位从低到高分别是(2,0,1,2)。把所有容器都写成这种表示,并把同一位上全部累加。比如说我们还有一个容器(0,1,2,0),那么两个容器累加的结果就是(2,1,3,2)。当我们正在放大小为3...

weixin_30598225的博客 108

BZOJ 1110: [POI2007]砝码Odw( 贪心 )

ORZjcvb... 1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 const int maxn = 100009; 6 7 int N, M, item[maxn], V[maxn]; 8 vector<int> o, cnt, Div; 9 10 int...

weixin_30786657的博客 138

BZOJ 1110: [POI2007]砝码Odw 进制转换+贪心

进制转换+贪心

NeighThorn的博客 668

bzoj1110 [POI2007]砝码Odw 贪心+进制拆分

题意就不说了。一开始居然在想直接dp,,, 看到是整数倍我的内心居然毫无波动。。真是傻的不行了。。 因为是整数倍,那我们可以把一个容器用砝码的重量做为进制拆分,然后从小到大一个个填就可以了,贪心策略肯定是最优的。 具体如何拆分看hzwer www:http://hzwer.com/4761.html#include<cstdio> #include<algorithm> #include<io

老臣 465

[bzoj1110][POI2007]砝码Odw_贪心

bzoj-1110 POI-2007 砝码Odw 参考博客:http://hzwer.com/4761.html 题目大意:在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作。公司有一些固定容量的容器可以装这些砝码。他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码。每个容器可以装的砝码数量有限制,但是他们能够装的总重量不能超过每个容器的限制。一个容器也可以不...

weixin_30753873的博客 89
上一篇: BZOJ2557: [Poi2011]Programming Contest
下一篇: BZOJ2215: [Poi2011]Conspiracy
commonc
博客等级 码龄11年 173粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值