当前位置: 首页 > news >正文

Luogu P4447 [AHOI2018初中组]分组

题目链接:传送门

nnn个可重复的整数分为mmm组,每组中的数必须连续且不重复,使人数最少的组人数最多。
两个最值肯定第一想到二分,每次二分出一个值,判断在这个值为答案的前提下能否完成分组。
在思考判别函数时发现没有必要二分,单独依靠人数底线也并不能得到最优解,通过贪心就可以直接得到答案。

先将这些数从小到大排序,对每个数进行分组,group[i]group[i]group[i]表示第iii组的末尾的数,可见每组内的数是升序的。
对于一个数a[i]a[i]a[i],遍历现有的所有组,如果有一个组的末尾的数group[i]=a[i]−1group[i]=a[i]-1group[i]=a[i]1,则表示这个数可以接在这组的队尾。
但这样并不能保证最优解,那我们添加一个条件,将这个数加在长度最短的队的队尾,即可保证最优。

#include <bits/stdc++.h>
#define A 100010using namespace std;
int n, a[A];
int num, size[A], group[A];int main(int argc, char const *argv[]) {cin >> n;for (int i = 1; i <= n; i++) scanf("%d", &a[i]);sort(a + 1, a + n + 1);for (int i = 1; i <= n; i++) {int size_min = INT_MAX, pos = 0; bool flag = 0;for (int j = 1; j <= num; j++)if (group[j] + 1 == a[i] and size[j] < size_min)pos = j, flag = 1, size_min = size[j];if (flag) size[pos]++, group[pos] = a[i];else group[++num] = a[i], size[num] = 1;}int ans = INT_MAX;for (int i = 1; i <= num; i++) ans = min(ans, size[i]);cout << ans << endl;
}

相关文章:

Luogu P4447 [AHOI2018初中组]分组

题目链接&#xff1a;传送门 将nnn个可重复的整数分为mmm组&#xff0c;每组中的数必须连续且不重复&#xff0c;使人数最少的组人数最多。 两个最值肯定第一想到二分&#xff0c;每次二分出一个值&#xff0c;判断在这个值为答案的前提下能否完成分组。 在思考判别函数时发现…...

手把手创建flask项目

Flask 框架流程 什么是Flask&#xff1a; Flask诞生于2010年, 使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架 Flask本身相当于一个内核, 其他几乎所有的功能都要用到扩展(邮件:Flask-Mail, 用户认证:Flask-Login, 数据库:Flask-SQLAlchemy). Flask的核心在于Werkz…...

SpringCloud-4_Eureka服务注册与发现

Eureka作为一个老牌经典的服务注册&发现技术&#xff0c;其设计和理念&#xff0c;也在影响后面的组件。目前主流的服务注册&发现的组件是Nacos当前项目架构问题分析-引出Eureka问题分析&#xff1a;1.在企业级项目中&#xff0c;服务消费访问请求会存在高并发2.如果只…...

【react全家桶】生命周期

文章目录04 【生命周期】1.简介2.初始化阶段2.1 constructor2.2 componentWillMount&#xff08;即将废弃&#xff09;2.3 static getDerivedStateFromProps&#xff08;新钩子&#xff09;2.4 render2.5 componentDidMount2.6 初始化阶段总结3.更新阶段3.1 componentWillRecei…...

虚拟机安装Windows 10

虚拟机安装Windows 10 镜像下载 方法一&#xff1a;下载我制作好的镜像文件->百度网盘链接 提取码&#xff1a;Chen 方法二&#xff1a;自己做一个 进入微软官网链接 下载"MediaCreationTool20H2" 运行该工具 点击下一步选择路径&#xff0c;等他下载好就欧克了…...

【CMU15-445数据库】bustub Project #2:B+ Tree(下)

Project 2 最后一篇&#xff0c;讲解 B 树并发控制的实现。说实话一开始博主以为这块内容不会很难&#xff08;毕竟有 Project 1 一把大锁摆烂秒过的历史x&#xff09;&#xff0c;但实现起来才发现不用一把大锁真的极其痛苦&#xff0c;折腾了一周多才弄完。 本文分基础版算法…...

leetcode 困难 —— 外星文字典(拓扑排序)

题目&#xff1a; 现有一种使用英语字母的外星文语言&#xff0c;这门语言的字母顺序与英语顺序不同。 给定一个字符串列表 words &#xff0c;作为这门语言的词典&#xff0c;words 中的字符串已经 按这门新语言的字母顺序进行了排序 。 请你根据该词典还原出此语言中已知的字…...

ubuntu server 18.04使用tensorflow进行ddqn训练全过程

0. 前言 需要使用ddqn完成某项任务&#xff0c;为了快速训练&#xff0c;使用带有GPU的服务器进行训练。记录下整个过程&#xff0c;以及遇到的坑。 1. 选择模板代码 参考代码来源 GitHub 该代码最后一次更新是Mar 24, 2020。 环境配置&#xff1a; python3.8 运行安装脚本…...

2023年全国最新二级建造师精选真题及答案14

百分百题库提供二级建造师考试试题、二建考试预测题、二级建造师考试真题、二建证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 二、多选题 61.已经取得下列资质的设计单位&#xff0c;可以直接申请相应类别施工总承包一级…...

mysql一条语句的写入原理

mysql写入原理 我们知道在mysql数据库最核心的大脑就是执行引擎&#xff1b; 其中的默认引擎Innodb在可靠执行和性能中做出来平衡&#xff1b; innodb支持在事务控制、读写效率&#xff0c;多用户并发&#xff0c;索引搜索方面都表现不俗&#xff1b; innodb如何进行数据写入…...

嵌入式Linux内核代码风格(二)

第九章&#xff1a;你已经把事情弄糟了 这没什么&#xff0c;我们都是这样。可能你的使用了很长时间Unix的朋友已经告诉你“GNU emacs”能 自动帮你格式化C源代码&#xff0c;而且你也注意到了&#xff0c;确实是这样&#xff0c;不过它所使用的默认值和我们 想要的相去甚远&a…...

Spring Boot @Aspect 切面编程实现访问请求日志记录

aop切面编程想必大家都不陌生了&#xff0c;aspect可以很方便开发人员对请求指定拦截层&#xff0c;一般是根据条件切入到controller控制层&#xff0c;做一些鉴权、分析注解、获取类名方法名参数、记录操作日志等。 在SpringBoot中使用aop首先是要导入依赖如下&#xff1a; …...

初学者的第一个Linux驱动

软件环境&#xff1a;Ubuntu20.04 Linux内核源码&#xff1a;3.4.39 硬件环境&#xff1a;GEC6818 什么是驱动&#xff1f;简单来说就是让硬件工作起来的程序代码。 Linux驱动模块加载有两种方式&#xff1a; 1、把写好的驱动代码直接编译进内核。 2、把写好的驱动代码编…...

7. 拼数

1 题目描述 拼数成绩10开启时间2021年09月24日 星期五 18:00折扣0.8折扣时间2021年11月15日 星期一 00:00允许迟交否关闭时间2021年11月23日 星期二 00:00 设有 n个正整数 a[1]​…a[n]​&#xff0c;将它们联接成一排&#xff0c;相邻数字首尾相接&#xff0c;组成一个最大的整…...

Java每天15道面试题 | Redis

redis 和 和 memcached 什么区别&#xff1f;为什么高并发下有时单线程的 redis 比多线程的memcached 效率要高&#xff1f; 区别&#xff1a; 1.mc 可缓存图片和视频。rd 支持除 k/v 更多的数据结构; 2.rd 可以使用虚拟内存&#xff0c;rd 可持久化和 aof 灾难恢复&#xff0…...

13_pinctrl子系统

总结 pinctrl作为驱动 iomuxc节点在设备树里面 存储全部所需的引脚配置信息 iomux节点匹配pinctrl子系统 控制硬件外设的时候 要知道有哪些gpio 再看gpio有哪些服用寄存器 接着在程序配置gpio相关寄存器 这样搞效率很低 所以用iomux节点保存所有的引脚组 pinctrl驱动起来的时…...

Linux系统对于实施人员的价值

Linux系统对于实施人员的价值 随着互联网的发展&#xff0c;linux系统越来越突显了巨大的作用&#xff0c;很多互联网公司&#xff0c;政府企业&#xff0c;只要用到服务器的地方几乎都能看到linux系统的身影&#xff0c;可以说服务是不是在linux系统跑的代表了企业的技术水平&…...

ForkJoin 和 Stream并行流

还在用 for 循环计算两个数之间所有数的和吗&#xff1f;下面提供两种新方法&#xff01; 1. ForkJoin 1.1 背景 要知道&#xff0c;在一个方法中&#xff0c;如果没有做特殊的处理&#xff0c;那么在方法开始到结束使用的都是同一个线程&#xff0c;无论你的业务有多复杂 那…...

逻辑优化-cofactor

1. 简介 逻辑综合中的Cofactor优化方法是一种重要的逻辑优化技术。它通过提取逻辑电路中的共同部分&#xff0c;从而简化电路、减小面积和延迟。该方法广泛应用于电子设计自动化&#xff08;EDA&#xff09;领域中的逻辑综合、等价转换和优化等方面。 Cofactor优化方法最早由…...

车道线检测CondLaneNet论文和源码解读

CondLaneNet: a Top-to-down Lane Detection Framework Based on Conditional Convolution Paper&#xff1a;https://arxiv.org/pdf/2105.05003.pdf code&#xff1a;GitHub - aliyun/conditional-lane-detection 论文解读&#xff1a; 一、摘要 这项工作作为车道线检测任…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...