7.冶炼金属

# P9240 [蓝桥杯 2023 省 B] 冶炼金属

## 题目描述

小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 $V$,$V$ 是一个正整数,这意味着消耗 $V$ 个普通金属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 $V$ 时,无法继续冶炼。

现在给出了 $N$ 条冶炼记录,每条记录中包含两个整数 $A$ 和 $B$,这表示本次投入了 $A$ 个普通金属 O,最终冶炼出了 $B$ 个特殊金属 X。每条记录都是独立的,这意味着上一次没消耗完的普通金属 O 不会累加到下一次的冶炼当中。

根据这 $N$ 条冶炼记录,请你推测出转换率 $V$ 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况。

## 输入格式

第一行一个整数 $N$,表示冶炼记录的数目。

接下来输入 $N$ 行,每行两个整数 $A,B$,含义如题目所述。

## 输出格式

输出两个整数,分别表示 $V$ 可能的最小值和最大值,中间用空格分开。

## 输入输出样例 #1

### 输入 #1

```
3
75 3
53 2
59 2
```

### 输出 #1

```
20 25
```

## 说明/提示

**【样例说明】**

当 $V=20$ 时,有:$\left\lfloor\frac{75}{20}\right\rfloor=3,\left\lfloor\frac{53}{20}\right\rfloor=2,\left\lfloor\frac{59}{20}\right\rfloor=2$,可以看到符合所有冶炼记录。

当 $V=25$ 时,有:$\left\lfloor\frac{75}{25}\right\rfloor=3,\left\lfloor\frac{53}{25}\right\rfloor=2,\left\lfloor\frac{59}{25}\right\rfloor=2$,可以看到符合所有冶炼记录。

且再也找不到比 $20$ 更小或者比 $25$ 更大的符合条件的 $V$ 值了。

**【评测用例规模与约定】**

对于 $30 \%$ 的评测用例,$1 \leq N \leq 10^{2}$。

对于 $60 \%$ 的评测用例,$1 \leq N \leq 10^{3}$。

对于 $100 \%$ 的评测用例,$1 \leq N \leq 10^{4}$,$1 \leq B \leq A \leq 10^{9}$。

蓝桥杯 2023 省赛 B 组 C 题。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=1000+10;
ll a[N],b[N],c[N],d[N];
 const int inf=0x3f3f3f3f;
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i]>>b[i];
	}
	ll m1=inf,m2=0;
	for(int i=0;i<n;i++)
	{
		c[i]=a[i]/b[i];
		m1=min(c[i],m1);
		d[i]=a[i]/(b[i]+1);
		m2=max(d[i],m2);
	}
	cout<<m2+1<<" "<<m1<<endl;
	return 0;
	
}

总结思考:

        第一次没有AC的原因是开数组占得内存太大,没通过

        第二次,修正采用while循环,不需要存储,直接比较;

根据样例可以观察得到,最大的V就是a/b里面选择的最小的,即可满足的最大的

最小的V就是a/(b+1)里面选择最大的,最后加上1,即可满足的最小的

关于Java与金属冶炼相结合的信息较为特殊,通常情况下,Java作为一种编程语言,在金属冶炼行业中可能更多地用于开发管理软件、自动化控制系统或者模拟仿真等方面的应用程序。 ### Java在金属冶炼中的应用方向 对于金属冶炼行业而言,利用Java可以构建数据采集与监控系统(SCADA)[^1]。这类系统能够实时收集来自生产现场的各种传感器的数据,并通过网络传输到中央控制室进行处理分析以及可视化展示。这有助于提高生产的效率和安全性。 另外,基于Java的企业资源计划(ERP)解决方案也适用于金属加工制造企业。它可以帮助公司更好地规划采购、库存管理和财务状况等业务流程,从而优化整个供应链运作模式[^2]。 至于具体的库或框架,则取决于具体应用场景: - **SCADA系统的实现** 可能会涉及到RXTX这样的串口通信库来连接硬件设备;也可能采用Spring Boot快速搭建RESTful Web服务端接收前端发送过来的操作指令并响应给下位机执行相应动作。 - **ERP平台建设方面** ,除了上述提到的Spring全家桶(Spring Framework, Spring MVC, MyBatis等等),还可以考虑引入Apache POI操作Excel表格文件以便导出报表统计资料;集成Activiti工作流引擎支持复杂审批过程建模。 然而值得注意的是,目前并没有广泛知名的专门针对金属冶炼领域而设计好的现成开源项目可以直接拿来即用。如果想要找到更贴合实际需求的技术方案,建议关注一些工业互联网平台上的案例分享或是联系专业的MES(Manufacturing Execution System)供应商获取定制化的产品和服务。 ```java // 示例:使用RXTX库读取串行端口数据片段 import gnu.io.*; public class SerialPortReader { private static CommPortIdentifier portId; public void init() throws Exception{ Enumeration<?> enumPorts=CommPortIdentifier.getPortIdentifiers(); while(enumPorts.hasMoreElements()){ portId=(CommPortIdentifier)enumPorts.nextElement(); if(portId.getName().equals("/dev/ttyUSB0")){ // 假设目标为ttyUSB0端口 break; } } if (portId == null){ throw new NoSuchPortException(); }else{ ... } } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值