2817. 限制条件下元素之间的最小绝对差;2305. 公平分发饼干;878. 第 N 个神奇数字

news/2024/9/20 2:40:06

2817. 限制条件下元素之间的最小绝对差

核心思想:枚举+二分。我们去枚举nums[j],然后用一个数据结构去装nums[i],利用二分去找在这个数据结构中离nums[j]最近的值的下标,然后统计最小值。这个数据结构可以使用SortedList,然后我们放入两个哨兵,防止找不到的情况,从而减少代码量。

2305. 公平分发饼干

核心思想:动态规划(二进制数的动态规划)。f[i][j]表示i个孩子分集合为j的零食包的最小不公平程度 答案为f[k][1 << n-1],使用二进制数来表示零食包集合,然后我们枚举i和j即可,难点在于这里的j是用二进制是表示的,我们需要写清楚如何从一个二进制状态转移到另一个二进制状态,具体可以看代码,主要思路就是定义好状态,然后枚举二进制集合。

878. 第 N 个神奇数字

核心思想:二分法。对于一个数x,如果它包含的神奇数字大于等于n,那么我们把它减少,利用二分法找出答案。关键在于如何判断一个数x中包含多少个神奇数字,这里有点数学技巧,借用灵神的例子,25//4 = 6,25//6 = 4,25//12 = 2,6+4-2=8即是神奇数字的个数,这里相当于直接给出了一个结论。


https://dhexx.cn/news/show-5071400.html

相关文章

pg-备份和还原

1. 逻辑备份 PostgreSQL中提供了pg_dump、pg_dumpall命令进行数据库的逻辑备份。pg_dump与pg_dumpall命令的功能差不多&#xff0c;只是pg_dumpall是将一个PostgreSQL数据库集群全部转储到一个脚本文件中&#xff0c;而pg_dump命令可以选择一个数据库或部分表进行备份。使用pg_…

Linux命令(80)之sort

linux命令之sort 1.sort介绍 linux命令sort用于将文本文件内容以行为单位加以排序&#xff1b;sort命令默认按每行的第一个字符排序&#xff0c;根据首字母的ASCII码值进行升序(从小到大排列)。 sort的默认分隔符是空白(空格和tab)&#xff0c;多少空白都算一个分隔符。 2.…

【Vue.js】生命周期之基本使用

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》 《springMvc使用》 ⛺️ 生活的理想&#xff0c;为了不断更新自己 ! 目录 ​编辑 1.Vue是什么 2.Vue的特点及优势 3. 使用Vue的详细步骤 3.1.导入 3.2…

【Qt】QGroundControl入门4:框架QGCApplication

1、简述 QGroundControl的框架在QGCApplication中实现,QGCApplication继承自QApplication; QGCApplication构造函数中创建QGCToolbox实例,QGCToolbox用来管理各种服务和工具; QGCApplication::_initCommon():将C++类注册到QML对象中; QGCApplication::_initForNormalApp…

网络安全(黑客)自学​

前言 作为一个合格的网络安全工程师&#xff0c;应该做到攻守兼备&#xff0c;毕竟知己知彼&#xff0c;才能百战百胜。 计算机各领域的知识水平决定你渗透水平的上限。 【1】比如&#xff1a;你编程水平高&#xff0c;那你在代码审计的时候就会比别人强&#xff0c;写出的漏洞…

无涯教程-JavaScript - CEILING.MATH函数

描述 CEILING.MATH函数将数字四舍五入到最接近的整数或最接近的有效倍数。 Excel CEILING.MATH函数是Excel中的十五个舍入函数之一。 语法 CEILING.MATH (number, [significance], [mode])争论 Argument描述Required/OptionalNumberNumber must be less than 9.99E307 and …

王道数据结构C语言循环链表基本操作实现

文章目录 一、循环单链表1.1初始化及判空操作1.2判断是否是尾结点 二、循环双链表2.1初始化2.2判空2.3判断尾结点2.4循环双链表的删除 一、循环单链表 1.1初始化及判空操作 其实循环链表就是在单链表&#xff08;双链表&#xff09;上做一点小小的优化 它是把尾结点的next指…

【面试刷题】——堆栈窗口

“堆栈窗口”&#xff08;Stack Window&#xff09;通常不是一个特定的编程术语&#xff0c;但可以用来描述在编程和计算机科学领域中一些相关的概念。这些概念涉及到堆栈&#xff08;stack&#xff09;和窗口&#xff08;window&#xff09;等术语的组合。以下是一些可能涉及到…

期权翻倍行情一个月会出现几次?

期权翻倍一个月出现几次&#xff1f;期权翻倍行情一周有2次左右&#xff0c;也是必做的行情&#xff0c;出现的时候敢不敢满仓的去交易呢&#xff0c;从数据来说&#xff0c;每周2次&#xff0c;一个月8次机会最少也能吃到期权翻倍行情。本文来自&#xff1a;期权酱 期权行情在…

VIRTIO-SCSI代码分析(2)VIRTIO 驱动分析

QEMU模拟出VIRTIO SCSI设备后&#xff0c;在虚拟机中呈现SCSI设备和PCIE设备。而在虚拟机中&#xff0c;PCIE设备与VIRTIO PCI驱动匹配触发virtio_pci_probe()注册生成virtio设备&#xff0c;而virtio设备与虚拟机中的virtio驱动匹配触发对应probe函数最终注册对应的驱动。 这里…