【C++题解】1561. 买木头

问题:1561. 买木头

类型:省赛、数组问题、二分答案、贪心、2015江苏省青少年信息学奥林匹克竞赛复赛


题目描述:

有 n 个木材供应商,每个供货商有长度相同一定数量的木头。长木头可以锯短,但短木头不能接长。有一个客人要求 m 根长度相同的木头。要求计算出,此时供货商提供的木头满足客人要求的最长的长度是多少。
例如 n=2,m=30,两个供货商的木头为
12,10 第 1 个供货商的木头长度为 12 ,共有 10 根;
5,10 第 2 个供货商的木头长度为 5 ,共有 10 根。
计算的结果为 5 ,即长度为 12 的木头一根可锯出两根长度为 5 的木头,多余的无用,长度为 5 的木头不动,此时可得到 30 根长度为 5 的木头。

输入:

整数 n,m,L1​,S1​ (1≤n≤10000,1≤m≤1000000,1≤L1​≤10000,1≤S1​≤100)
其中 L1​ 是第一个供货商木头的长,S1​ 是第一个供货商木头数量。其他供货商木头的长度和数量 Li​ 和 Si​(i≥2),由下面的公式给出:
Li​=((Li−1×37011+10193)mod10000)+1
Si​=((Si−1×73011+24793)mod100)+1

输出:

一个整数,即满足要求的 m 根长度相同的木头的最大长度。

样例:

输入:

10 10000 8 20

输出:

201

在这里插入图片描述


完整代码如下:

#include<bits/stdc++.h> 
using namespace std;int m,cmax=0;
vector<int> v;bool cmp(int a,int b){return a>b;
}int findNum(int mid){int c=0,t;for(int i=0;i<v.size();i++){t=v[i];while(t>=mid){++c;t-=mid;}	}return c;
}void myFind(int l,int r){if(l>r){return;}int mid;mid=l+r>>1;if(m>findNum(mid)){return myFind(l,mid-1);}else{cmax=mid;return myFind(mid+1,r);}}
int main(){//一、分析问题//已知:有n个木材供应商。需要m 根长度相同的木头。L 是第一个供货商木头的长,S是第一个供货商木头数量。 //未知:供货商提供的木头满足客人要求的最长的长度是多少。//关系:长木头可以锯短,但短木头不能接长。其他供货商木头的长度和数量 Li 和 Si(i≥2),由下面的公式给出://Li=((Li-1×37011+10193)mod10000)+1//Si=((Si-1×73011+24793)mod100)+1//二、数据定义 int n,li,si;//三、数据输入cin>>n>>m>>li>>si; for(int i=0;i<n;i++){for(int j=0;j<si;j++){v.push_back(li);} li=(li*37011+10193)%10000+1;si=(si*73011+24793)%100+1;}//四、数据计算 sort(v.begin(),v.end(),cmp);myFind(1,v[0]);//五、输出结果 cout<<cmax;return 0;	
}

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

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

相关文章

web前端之上传文件夹、webkitdirectory

MENU 前言element-ui写法input写法 前言 1、以下代码只实现的单个文件夹的上传&#xff0c;原本需求是实现选择多个文件夹上传&#xff0c;但是没找到实现的方法。如果想实现多个文件夹上传&#xff0c;可以给这些文件夹新建一个父级文件夹&#xff0c;点击上传的时候选择父级文…

14-36 剑和诗人10 - 用LLM构建 AI 代理平台

介绍 在当今快速发展的技术环境中&#xff0c;大型语言模型 (LLM) 和 AI 代理正在改变我们与信息交互、实现流程自动化以及应对不同行业复杂挑战的方式。随着这些强大的模型不断发展&#xff0c;对能够无缝集成和协调它们的强大平台的需求变得越来越重要。 让我们深入研究设计…

android2024 gradle8 Processor和ksp两种编译时注解实现

android编译时注解&#xff0c;老生常谈&#xff0c;外面的例子都是bindView&#xff0c;脑壳看疼了&#xff0c;自己学习和编写下。 而且现在已经进化到kotlin2.0&#xff0c;google也逐渐放弃kapt&#xff0c;进入维护状态。所以要好好看看本贴。 参考我的工程&#xff1a; h…

数据结构之算法的时间复杂度

1.时间复杂度的定义 在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比列&#xff0c;算法中的基本操作的执行次数&#xff0c;为算法的时间复杂度 例1&#xff1a; 计算Func1…

Linux:ollama大模型部署

目录 Ollama 是一个能在本地机器上轻松构建和运行大型语言模型的轻量级、可扩展框架&#xff0c;适用于多种场景&#xff0c;具有易于使用、资源占用少、可扩展性强等特点。 1.安装下载ollama 2.为 Ollama 创建一个用户 3.为ollama创建服务文件 4.启动ollama服务 5.拉取语…

Java 家庭物联网

家庭物联网系统的代码和说明&#xff0c;包括用户认证、设备控制、数据监控、通知和警报、日志记录以及WebSocket实时更新功能。 ### 项目结构 plaintext home-iot-system ├── backend │ └── src │ └── main │ └── java │ └…

图书馆数据仓库

目录 1.数据仓库的数据来源为业务数据库&#xff08;mysql&#xff09; 初始化脚本 init_book_result.sql 2.通过sqoop将mysql中的业务数据导入到大数据平台&#xff08;hive&#xff09; 导入mysql数据到hive中 3.通过hive进行数据计算和数据分析 形成数据报表 4.再通过sq…

【matlab】智能优化算法——求解目标函数

智能优化算法在求解目标函数方面发挥着重要作用&#xff0c;它通过迭代、筛选等方法来寻找目标函数的最优值&#xff08;极值&#xff09;。以下是关于智能优化算法求解目标函数的详细介绍&#xff1a; 一、智能优化算法概述 智能优化算法是一种搜索算法&#xff0c;旨在通过…

设置单实例Apache HTTP服务器

配置仓库 [rootlocalhost ~]# cd /etc/yum.repos.d/ [rootlocalhost yum.repos.d]# vi rpm.repo仓库代码&#xff1a; [BaseOS] nameBaseOS baseurl/mnt/BaseOS enabled1 gpgcheck0[AppStream] nameAppStream baseurl/mnt/AppStream enabled1 gpgcheck0挂载 [rootlocalhost …

2.4G无线收发芯片 XL2401D,SOP16封装,集成单片机,高性价比

XL2401D 芯片是工作在2.400~2.483GHz世界通用ISM频段&#xff0c;片内集成了九齐 NY8A054E单片机的SOC无线收发芯片。芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块&#xff0c;并且支持一对多组网和带ACK的通信模式。发射输出功率、工作频道以及通信数据…

网络基础:IS-IS协议

IS-IS&#xff08;Intermediate System to Intermediate System&#xff09;是一种链路状态路由协议&#xff0c;最初由 ISO&#xff08;International Organization for Standardization&#xff09;为 CLNS&#xff08;Connectionless Network Service&#xff09;网络设计。…

油猴脚本高级应用:拦截与修改网页Fetch请求实战指南

油猴脚本高级应用&#xff1a;拦截与修改网页Fetch请求实战指南 简介&#xff1a; 本文介绍了几个使用油猴&#xff08;Tampermonkey&#xff09;脚本拦截和修改网页 fetch 请求的案例。这些脚本可以在浏览器扩展油猴中运行&#xff0c;用于开发者调试网络请求或自定义页面行…

Vue 前端修改页面标题无需重新打包即可生效

在public文件夹下创建config.js文件 index.html页面修改 其他页面的标题都可以用window.title来引用就可以了&#xff01;

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【19】认证服务03—分布式下Session共享问题

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【19】分布式下Session共享问题 session原理分布式下session共享问题Session共享问题解决—session复制Session共享问题解决—客户端存储Session共享问题解决—hash一致性Session共享问题…

ASUS/华硕飞行堡垒8 FX506L FX706L系列 原厂win10系统 工厂文件 带F12 ASUS Recovery恢复

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;一键恢复&#xff0c;以及机器所有驱动软件。 系统版本&#xff1a;Windows10 原厂系统下载网址&#xff1a;http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意&#xff1a;仅支持以上型号专用…

域名、网页、HTTP概述

目录 域名 概念 域名空间结构 域名注册 网页 概念 网站 主页 域名 HTTP URL URN URI HTML 超链接 发布 HTML HTML的结构 静态网页 特点 动态网页 特点 Web HTTP HTTP方法 GET方法 POST方法 HTTP状态码 生产环境下常见的HTTP状态码 域名 概念 IP地…

基于.NET开源游戏框架MonoGame实现的开源项目合集

前言 今天分享一些基于.NET开源游戏框架MonoGame实现的开源项目合集。 MonoGame项目介绍 MonoGame是一个简单而强大的.NET框架&#xff0c;使用C#编程语言可以创建桌面PC、视频游戏机和移动设备游戏。它已成功用于创建《怒之铁拳4》、《食肉者》、《超凡蜘蛛侠》、《星露谷物…

【跟我学K8S】45天入门到熟练详细学习计划

目录 一、什么是K8S 核心功能 架构组件 使用场景 二、入门到熟练的学习计划 第一周&#xff1a;K8s基础和概念 第二周&#xff1a;核心对象和网络 第三周&#xff1a;进阶使用和管理 第四周&#xff1a;CI/CD集成和监控 第五周&#xff1a;实战模拟和案例分析 第六周…

XPointer 实例

XPointer 实例 1. 引言 XPointer 是一种用于定位 XML 文档中特定部分的语言。它是 XLink 的补充,允许用户在 XML 文档中创建链接,指向文档中的特定元素、属性或文本。XPointer 的强大之处在于其精确的定位能力,使得开发者能够创建更加丰富和动态的 XML 应用。 2. XPointe…

【Spring Boot】spring boot主启动类_内置服务

1、主启动类 1.1 定义与功能 Spring Boot的主启动类是一个特殊的Java类&#xff0c;用于启动Spring Boot应用程序。该类通常使用SpringBootApplication注解进行标注&#xff0c;这个注解是一个复合注解&#xff0c;包含SpringBootConfiguration、EnableAutoConfiguration和Co…