牛客——签到题
分析
我拿到题就去看了示例,可以发现,并非是让难度最小,或者难度系数出现次数最多的成为签到题的难度。那我就有点懵了。。。。。。
但仔细观察题目本身的特定条件和目标,即在满足选择 m 道题的前提下,尽可能多地选择难度值最低的题目,可以想到贪心
贪心算法在这种情况下适用,因为它能够在每一步选择中做出局部最优的选择,从而达到全局的最优解。
具体的思考过程:
1. 理解题目要求
题目要求我们从题库中选择 m 道题,并希望这些题目的难度尽可能低。这里的关键是“尽可能低”,意味着我们应该优先选择难度值最小的题目。
2. 分析题目数据
题目中给出的是一个难度值列表,每个难度值对应一定数量的题目。我们需要从这些题目中选择 m 道题。
3. 贪心策略的适用性
贪心算法适用于那些可以通过局部最优选择达到全局最优解的问题。在这个问题中,局部最优选择是每次选择当前难度值最小的题目,因为这样可以确保我们尽可能多地选择低难度的题目。
4. 贪心策略的具体实现
-
从低到高选择:从难度值最小的题目开始选择,逐步增加难度值,直到选出 m 道题或无法再选择更多题目。
-
记录最大签到题数量:在满足选择 m 道题的条件下,记录能够选择的难度值最小的题目的最大数量。
5. 为什么贪心算法有效
-
单调性:选择难度值最小的题目是一个单调递增的过程,即随着难度值的增加,我们选择的题目数量不会减少。
-
最优子结构:每一步的局部最优选择(选择当前难度值最小的题目)保证了全局的最优解。
6. 代码实现
代码通过从难度值最大的题目开始累加,直到累加的题目数量达到或超过 m,然后记录当前难度值的题目数量。这样做实际上是在尝试找到满足条件的最低难度值,因为一旦找到满足条件的难度值,就没有必要再考虑更高难度值的题目。
7. 结论
通过贪心算法,我们可以有效地解决这个问题,因为它能够在每一步都做出最优的选择,从而在全局上达到最优解。这种方法简单、直观,且易于实现,非常适合这类优化问题。
代码
#include<bits/stdc++.h>
using namespace std;
int a[200005];
int main(){int n,m;cin>>n>>m;for(int i=0;i<n;i++){int x;cin>>x;a[x]++;}int ans=0,sum=0;for(int i=n;i>=1;i--){//从最大难度值开始遍历,是为了让最终签到题难度尽可能小sum+=a[i];//sum用来判断在这个难度下是否已经选够了m题if(sum>=m){ //只有这种情况下才可更新ansans=max(a[i],ans);}}cout<<min(ans,m);return 0;
}
碎碎念
我一直不太理解为什么要有sum>=m这一个判断条件,其实是因为我们是从大到小从n道题中选择m道,而且要求签到题难度尽可能小,数量尽可能多,有人肯定回想n一定大于m,所以一定可以选够m道题,其实代码逻辑不是这样想的,我们是从大到小从n道题中一题一题选择的,因为贪心遵循每次选择都是最优解,即每次选择当前难度值最小的题目,而不是从n道中任意选m,所以只有选择的题数大于等于m,才可以确保在找到满足条件的最低难度值时更新 ans,
如果没有这个条件,代码可能会在没有满足选择 m 道题的情况下更新 ans
。这会导致最终结果不满足题目要求,即没有选出足够的题目。
相关文章:
牛客——签到题
分析 我拿到题就去看了示例,可以发现,并非是让难度最小,或者难度系数出现次数最多的成为签到题的难度。那我就有点懵了。。。。。。 但仔细观察题目本身的特定条件和目标,即在满足选择 m 道题的前提下,尽可能多地选择…...
【idea】调试篇 idea调试技巧合集
前言:之前博主写过一篇idea技巧合集的文章,由于技巧过于多了,文章很庞大,所以特地将调试相关的技巧单独成章, 调试和我们日常开发是息息相关的,用好调试可以事半功倍 文章目录 1. idea调试异步线程2. idea调试stream流…...
k8s监控方案实践补充(一):部署Metrics Server实现kubectl top和HPA支持
k8s监控方案实践补充(一):部署Metrics Server实现kubectl top和HPA支持 文章目录 k8s监控方案实践补充(一):部署Metrics Server实现kubectl top和HPA支持一、Metrics Server简介二、Metrics Server实战部署…...
直流电机风速仪
在处理直流电机风速仪的 ADC 读取问题时,下面为你详细介绍实现方法。 硬件连接 风速仪的输出通常是模拟信号,所以需要把它连接到微控制器的 ADC 输入引脚。比如,在 Arduino 上可以连接到 A0 - A5 这类模拟输入引脚。 ADC 读取原理 风速仪…...
dify 连接不上ollama An error occurred during credentials validation:
三大报错 An error occurred during credentials validation: HTTPConnectionPool(hosthost.docker.internal, port11434): Max retries exceeded with url: /api/chat (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x7f26fc3c00b0&…...
19、云端工业物联网生态组件 - 工厂能效与预测维护 - /数据与物联网组件/cloud-iiot-factory-analysis
76个工业组件库示例汇总 云端工业物联网生态组件 - 工厂能效与预测维护 (模拟) 概述 这是一个交互式的 Web 组件,旨在模拟一个云端工业物联网 (IIoT) 平台的核心界面,专注于工厂层面的能效分析和基于传感器数据的预测性维护概念。用户可以监控模拟的设…...
python打卡day25
python的异常处理机制 知识点回顾: 异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制 在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。…...
Jmeter变量传递介绍
文章目录 一、Jmeter变量类型及作用域二、变量传递方式1. 用户定义变量(User Defined Variables)2. CSV 数据文件(CSV Data Set Config)3.正则表达式提取器4.后置处理器(Post Processor)4.1BeanShell/JSR223 后置处理器…...
机器学习 Day16 聚类算法 ,数据降维
聚类算法 1.简介 1.1 聚类概念 无监督学习:聚类是一种无监督学习算法,不需要预先标记的训练数据 相似性分组:根据样本之间的相似性自动将样本归到不同类别 相似度度量:常用欧式距离作为相似度计算方法 1.2 聚类vs分类 聚类&…...
白日梦:一个方便快捷的将故事制作成视频的工具
我有故事,但我想把它制作成视频,有没有什么好用的工具可以使用呢?如果你也被类似的问题困扰,那么今天分享的这个工具将会解决这个问题。从需求来看,我们希望的是纯文本的故事输入,完整的故事视频输出&#…...
ultralytics中tasks.py---parse_model函数解析
一、根据scale获取对应的深度、宽度和最大通道数 具体例如yaml文件内容如下: depth=0.33,那么重复的模块例如C2f原本重复次数是3,6,6,3,那么T对应的模型重复次数就是三分之一即1,1,2,1次。这个在后面定义的: width=0.25,max_channels=1024 原本c2=64,但经过make_div…...
Codeforces Round 1003 (Div. 4)
A. Skibidus and Amog’u 题目大意 给你一个字符串,把末尾的us换成i 解题思路 删掉最后两个加上“i”即可 代码实现 #include <bits/stdc.h>using i64 long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);int …...
基于RFSOC ZU28DR+DSP 6U VPX处理板
板卡概述 基于RFSOC ZU28DRDSP 6U VPX处理板,是一款基于6U VPX总线架构的高速信号处理平台,数模混合信号处理卡,采用 Xilinx ZYNQ UltraScale RFSoC ZU28DR和TI DSP TMS320C6678组合设计,两者之间通过4x 5G SRIO互联。本板卡可实…...
C# 通过脚本实现接口
以前C#脚本用的委托注入模式,今天在AI提示下,尝试用脚本直接实现接口,然后C#可以动态或指定新类型创建接口实现对象。从代码角度看,稍显复杂,但脚本方面显得更简洁和有条理。 引用包需要Microsoft.CodeAnalysis、Micro…...
代码随想录算法训练营Day58
力扣695.岛屿的最大面积【medium】 力扣827.最大人工岛【hard】 一、力扣695.岛屿的最大面积【medium】 题目链接:力扣695.岛屿的最大面积 视频链接:代码随想录 1、思路 和岛屿数量那道题很像,只是递归这边要多一个怎么计算面积,…...
若依框架页面
1.页面地址 若依管理系统 2.账号和密码 管理员 账号admin 密码admin123 运维 账号yuwei 密码123456 自己搭建的地址方便大家学习,不要攻击哦,谢谢啊...
redis 缓存穿透,缓存击穿,缓存雪崩
一:什么是缓存 (1)计算机:cpu、内存、磁盘,cpu任何需要的数据都要从内容中读入数据放入cpu,从cup内部添加一个缓存 (2)web开发的每个阶段都可以添加缓存 (3)缓存优缺点&a…...
ORACLE查看归档是否打开
一、使用V$DATABASE视图 SELECT log_mode FROM v$database; 结果说明: ARCHIVELOG - 数据库处于归档模式 NOARCHIVELOG - 数据库处于非归档模式 二、 使用v$instance视图 SELECT archiver FROM v$instance; 结果说明: STARTED - 归档进程已启动(归档模…...
Python环境管理工具深度指南:pip、Poetry、uv、Conda
Python环境管理工具深度指南:pip、Poetry、uv、Conda Python开发中,环境管理和依赖管理是不可避开的重要话题。合理地管理项目的Python环境(尤其是虚拟环境)有助于隔离不同项目的依赖,避免版本冲突,并确保…...
高等数学第七章---微分方程(§7.4-§7.5可降阶的高阶微分方程、二阶线性微分方程)
7.4 可降阶的高阶微分方程 某些类型的高阶微分方程可以通过适当的变量代换,将其阶数降低,从而化为阶数较低的方程进行求解。 一、 y ( n ) f ( x ) y^{(n)}f(x) y(n)f(x) 型方程 特征:方程的左端是 y y y 的 n n n 阶导数,右…...
Jmeter对服务端进行压测快速上手
安装 下载 安装jmeter的之前必须先装有JDK 官网下载地址:https://archive.apache.org/dist/jmeter/binaries/ jmeter3.0的对应jdk1.7,jmeter4.0对应jdk1.8以上,否者启用jmeter也会报错 配置 配置环境变量 在系统变量PATH上加上: %JMET…...
【嵌入模型与向量数据库】
目录 一、什么是向量? 二、为什么需要向量数据库? 三、向量数据库的特点 四、常见的向量数据库产品 FAISS 支持的索引类型 vs 相似度 五、常见向量相似度方法对比 六、应该用哪种 七、向量数据库的核心逻辑 🔍 示例任务:…...
鸿蒙OSUniApp 开发实时聊天页面的最佳实践与实现#三方框架 #Uniapp
使用 UniApp 开发实时聊天页面的最佳实践与实现 在移动应用开发领域,实时聊天功能已经成为许多应用不可或缺的组成部分。本文将深入探讨如何使用 UniApp 框架开发一个功能完善的实时聊天页面,从布局设计到核心逻辑实现,带领大家一步步打造专…...
React构建组件
React构建组件 React 组件构建方式详解 React 组件的构建方式随着版本迭代不断演进,目前主要有 函数组件 和 类组件 两种核心模式,并衍生出多种高级组件设计模式。以下是完整的构建方式指南: 文章目录 React构建组件React 组件构建方式详解…...
auto.js面试题及答案
以下是常见的 Auto.js 面试题及参考答案,涵盖基础知识、脚本编写、运行机制、权限、安全等方面,适合开发岗位的技术面试准备: 一、基础类问题 什么是 Auto.js?它的主要用途是什么? 答案: Auto.js 是一个…...
OPC UA + ABP vNext 企业级实战:高可用数据采集框架指南
🚀📊 OPC UA ABP vNext 企业级实战:高可用数据采集框架指南 🚀 📑 目录 🚀📊 OPC UA ABP vNext 企业级实战:高可用数据采集框架指南 🚀一、前言 🎯二、系统…...
【springcloud学习(dalston.sr1)】Ribbon负载均衡(七)
该系列项目整体介绍及源代码请参照前面写的一篇文章【springcloud学习(dalston.sr1)】项目整体介绍(含源代码)(一) (一)Ribbon 负载均衡的理解 ribbon是一种客户端的负载均衡。类似于比如我们在火车站窗口…...
编程题 03-树1 树的同构【PAT】
文章目录 题目输入格式输出格式输入样例1(对应图一)输出样例1输入样例2(对应图二)输出样例2 题解解题思路完整代码 编程练习题目集目录 题目 给定两棵树 T 1 T_1 T1 和 T 2 T_2 T2 。如果 T 1 T_1 T1 可以通过若干次左右…...
团结引擎开源车模 Sample 发布:光照渲染优化 动态交互全面体验升级
光照、材质与交互效果的精细控制,通常意味着复杂的技术挑战,但借助 Shader Graph 14.1.0(已内置在团结引擎官方 1.5.0 版本中),这一切都变得简单易用。通过最新团结引擎官方车模 Sample,开发者能切身感受到全新光照优化与编辑功能…...
Chrome安装最新vue-devtool插件
本vue-devtool版本是官方的 v7.6.8版本,兼容性好、功能齐全且稳定。 操作步骤: 方法一: 打开谷歌浏览器 --> 右上角三个点 --> 扩展程序 --> 管理扩展程序 --> 加载已解压的扩展程序, 然后选择解压后的文件夹即可。…...
鸿蒙OSUniApp打造多功能图表展示组件 #三方框架 #Uniapp
使用UniApp打造多功能图表展示组件 在当前移动应用开发领域,数据可视化已成为不可或缺的一部分。无论是展示销售数据、用户增长趋势还是其他业务指标,一个优秀的图表组件都能有效提升用户体验。UniApp作为一款跨平台开发框架,如何在其中实现…...
海量数据Top k 与查重问题
海量数据求top k 问题: - 求最大的前k个元素、求最小的前k个元素 - 求最大的第k个元素、求最小的第k个元素 解法: - 大根堆、小跟堆 -》 优先级队列(priority_queue) - 快速分割函数 priority_queue<int,vector<int>…...
Beats
Beats是一个开放源代码的数据发送器。我们可以把Beats作为一种代理安装在我 们的服务器上,这样就可以比较方便地将数据发送到Elasticsearch或者Logstash 中。Elastic Stack提供了多种类型的Beats组件。 Beats可以直接将数据发送到Elasticsearch或者发送到Logstash&a…...
微型PCB打样厂家选型指南
智能手机、可穿戴设备、医疗电子等高精尖领域,微型PCB(印制电路板)如同设备的“神经中枢”,承载着信号传输、电源分配、元件互联等核心功能。其设计精度与制造质量直接决定了产品的性能上限与可靠性。而打样环节,则是从…...
ISP有感自发
一、黑电平 由于传感器,即便在无光的情况下,依然会产生微小的暗电流,这些暗电流可能是噪点会影响后期的调试。因此,我们便将这些电流处理为0,成为纯黑的颜色。可以在源头消除这些误差。 如何矫正黑电平: …...
编程技能:字符串函数04,直接使用 strcpy,解决报错
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:字符串函数03,strncpy 回到目录…...
网络编程超时检测,unix域套接字,粘包
刷题: # 超时检测核心要点## 1. 基本类型### 阻塞模式- 永久等待数据,无超时机制- 典型函数:recv()阻塞调用### 非阻塞模式- 立即返回结果(成功/错误)- 设置方式:fcntl(fd, F_SETFL, O_NONBLOCK)### 超时检…...
springboot AOP 接口限流(基于IP的接口限流和黑白名单)
使用 Spring Boot 自定义注解和AOP实现基于IP的接口限流和黑白名单 在我们日常开发的项目中为了保证系统的稳定性,很多时候我们需要对系统做限流处理,它可以有效防止恶意请求对系统造成过载。常见的限流方案主要有: 网关限流: NG…...
Python uv包管理器使用指南:从入门到精通
Python uv包管理器使用指南:从入门到精通 作为一名Python开发者,你是否曾经为虚拟环境管理和依赖包安装而头疼?今天我要向大家介绍一个强大的工具——uv包管理器,它将彻底改变你的Python开发体验。 什么是uv包管理器?…...
【计算机网络】TLS中的对称加密和非对称加密的应用,应对第三方抓包的双向https认证
TLS工作流程简化版 证书验证流程 客户端通过CA的公钥验证服务器数字证书的签名,确保服务器身份可信,防止中间人攻击。 预主密钥加密传输 客户端生成预主密钥,用服务器证书中的公钥加密后发送给服务器,只有服务器(持有…...
Stable Diffusion WebUI 插件大全:功能详解与下载地址
Stable Diffusion WebUI 的强大之处在于其丰富的插件生态,这些插件可以大幅提升 AI 绘画的效率和质量。本文将详细介绍 21 个常用插件,包括它们的功能、效果说明以及下载地址,帮助你更好地使用 Stable Diffusion WebUI。 插件的安装方式 直…...
【行为型之策略模式】游戏开发实战——Unity灵活算法架构的核心实现策略
文章目录 🎮 策略模式(Strategy Pattern)深度解析一、模式本质与核心价值二、经典UML结构三、Unity实战代码(动态伤害计算系统)1. 定义策略接口与上下文2. 实现具体策略3. 客户端使用 四、模式进阶技巧1. 策略组合2. 策…...
第二十九节:直方图处理-直方图均衡化
在数字图像处理中,直方图均衡化(Histogram Equalization)是一种经典的对比度增强技术。它通过重新分配图像像素的亮度值,使图像的灰度级分布更加均匀,从而显著提升图像的视觉效果。 一、直方图基础 1.1 什么是直方图? 直方图(Histogram)是图像处理中用于描述图像像素…...
性能比拼: Nginx vs. Envoy
本内容是对知名性能评测博主 Anton Putra Nginx vs. Envoy performance benchmark 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 Envoy 被设计为服务网格中的高性能代理。 你可以将它部署在虚拟机(VM)中,或作为 sidecar 方式部…...
在 C 语言中,U、UL、ULL、L、LL 等符号使用说明
在 C 语言中,U、UL、ULL、L、LL 等符号是用于明确指定整数字面量类型的后缀,其核心作用是避免数据类型隐式转换导致的溢出或未定义行为。以下是具体分类和使用场景: 一、整数字面量后缀分类 后缀全称适用场景示例说明Uunsigned100U无符号整数…...
一般枚举题目合集
一般枚举题目合集 枚举NOIP 2011 提高组 铺地毯P2327 [SCOI2005] 扫雷蓝桥真题 跑步蓝桥真题 猜年龄 二进制枚举常用的技巧整理子集 - 力扣P10449 费解的开关UVA11464 Even Parity通过Virtual Judge提交代码正解 日期枚举蓝桥真题 跑步NOIP 2016 普及组 回文日期日期统计 写这段…...
MCP(Model Context Protocol,模型上下文协议)
1. 起因, 目的: MCP, 貌似最近很火,简单了解一下, 跟上时代节奏。看似是一个工具,一个新概念,其实是个鸡肋(仅仅代表个人观点)。 2. 先看效果 这里插入图片 3. 过程: 问题1, 什么是 MCP h…...
MQTT 在Spring Boot 中的使用
在 Spring Boot 中使用 MQTT 通常会借助 Spring Integration 项目提供的 MQTT 支持。这使得 MQTT 的集成可以很好地融入 Spring 的消息驱动和企业集成模式。 以下是如何在 Spring Boot 中集成和使用 MQTT 的详细步骤: 前提条件: MQTT Brokerÿ…...
uniapp使用全局组件,
在 Uniapp 中,如果你的组件是应用层组件(例如全局悬浮按钮、全局通知栏等),并且希望它自动出现在所有页面而无需在每个页面模板中手动添加组件标签,可以通过以下两种方案实现: 方案一:通过 app.…...
【三维重建】三维场景生成:综述
标题:《3D Scene Generation: A Survey》 来源:新加坡南洋理工大学 项目:https://github.com/hzxie/Awesome-3D-Scene-Generation 文章目录 摘要一、前言二、准备工作2.1 任务定义2.2 三维场景表示2.3 生成模型 三、方法:分层分类…...