第 369 场 LeetCode 周赛题解

A 找出数组中的 K-or 值

在这里插入图片描述
在这里插入图片描述

模拟

class Solution {
public:int findKOr(vector<int> &nums, int k) {vector<int> cnt(32);for (auto x: nums)for (int i = 0; i < 32; i++)if (x >> i & 1)cnt[i]++;int res = 0;for (int i = 0; i < 32; i++)if (cnt[i] >= k)res |= 1 << i;return res;}
};

B 数组的最小相等和

在这里插入图片描述

分类讨论:将两个数组中的 0 0 0 看作 1 1 1 求数组替换完后的最小数组和,若两个数组的最小数组和相等返回 0 0 0 ,否则只有最小数组和较小的一个数组存在 0 0 0 有解。

class Solution {
public:using ll = long long;long long minSum(vector<int> &nums1, vector<int> &nums2) {ll s1 = 0, s2 = 0;//两个数组的最小数组和bool have1 = false, have2 = false;//两个数组是否含有0for (auto x: nums1) {if (x)s1 += x;else {have1 = true;s1 += 1;}}for (auto x: nums2) {if (x)s2 += x;else {have2 = true;s2 += 1;}}if (s1 > s2) {swap(s1, s2);swap(have1, have2);}if (s1 == s2)return s1;return have1 ? s2 : -1;}
};

C 使数组变美的最小增量运算数

在这里插入图片描述
在这里插入图片描述

动态规划:设 p [ i ] p[i] p[i] 为将 n u m s [ 0 , i ] nums[0,i] nums[0,i] 变为美丽数组且满足 n u m s [ i ] ≥ k nums[i]\ge k nums[i]k 的最小递增运算数,有状态转移方程: p [ i ] = { m a x { k − n u m s [ i ] , 0 } i < 3 m i n { p [ i − 1 ] , p [ i − 2 ] , p [ i − 3 ] } + m a x { k − n u m s [ i ] , 0 } , i ≥ 3 p[i]=\left\{\begin{matrix} max\{k-nums[i],0\} & i<3 \\ min\{p[i-1],p[i-2],p[i-3] \}+max\{k-nums[i],0\} & ,i\ge 3 \end{matrix}\right. p[i]={max{knums[i],0}min{p[i1],p[i2],p[i3]}+max{knums[i],0}i<3,i3

class Solution {
public:using ll = long long;long long minIncrementOperations(vector<int> &nums, int k) {int n = nums.size();ll p[n];for (int i = 0; i < 3; i++)p[i] = max(k - nums[i], 0);for (int i = 3; i < n; i++) {p[i] = min({p[i - 1], p[i - 2], p[i - 3]}) + max(k - nums[i], 0);}return min({p[n - 1], p[n - 2], p[n - 3]});}
};

D 收集所有金币可获得的最大积分

在这里插入图片描述
在这里插入图片描述
记忆化搜索:设 p [ c u r ] [ c n t ] p[cur][cnt] p[cur][cnt] 为以 c u r cur cur 为根的子树在之前已经使用了 c n t cnt cnt 次第二种方法的情况下可获得的最大积分,有状态转移方程: p [ c u r ] [ c n t ] = m a x { ⌊ c o i n s [ c u r ] 2 c n t ⌋ − k + ∑ j ∈ s o n ( c u r ) p [ j ] [ c n t ] ⌊ c o i n s [ c u r ] 2 c n t + 1 ⌋ + ∑ j ∈ s o n ( c u r ) p [ j ] [ c n t + 1 ] p[cur][cnt]=max\left\{\begin{matrix} \left \lfloor \frac {coins[cur]} {2^{cnt}} \right \rfloor-k + \sum_{j\in son(cur)}p[j][cnt] \\ \left \lfloor \frac {coins[cur]} {2^{cnt+1}} \right \rfloor + \sum_{j\in son(cur)}p[j][cnt+1] \end{matrix}\right. p[cur][cnt]=max 2cntcoins[cur]k+json(cur)p[j][cnt]2cnt+1coins[cur]+json(cur)p[j][cnt+1]

class Solution {
public:int maximumPoints(vector<vector<int>> &edges, vector<int> &coins, int k) {int n = coins.size();vector<int> e[n];for (auto &ei: edges) {e[ei[0]].push_back(ei[1]);e[ei[1]].push_back(ei[0]);}int M = 16, inf = INT32_MIN;int p[n][M];for (int i = 0; i < n; i++)for (int j = 0; j < M; j++)p[i][j] = inf;//初始化标志function<int(int, int, int)> dfs = [&](int cur, int cnt, int par) {//记忆化搜索if (p[cur][cnt] != inf)return p[cur][cnt];if (cnt == M - 1)//子树所有数已经为都0,接下来全用第二种方法return p[cur][cnt] = 0;int r1 = (coins[cur] >> cnt) - k, r2 = coins[cur] >> (cnt + 1);for (auto j: e[cur]) {if (j == par)continue;r1 += dfs(j, cnt, cur);r2 += dfs(j, cnt + 1, cur);}return p[cur][cnt] = max(r1, r2);};return dfs(0, 0, -1);}
};

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

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

相关文章

uniapp 开发微信小程序 v-bind给子组件传递函数,该函数中的this不是父组件的二是子组件的this

解决办法&#xff1a;子组件通过缓存子组件this然后&#xff0c;用bind改写this 这个方法因为定义了全局变量that 那么该变量就只能用一次&#xff0c;不然会有赋值覆盖的情况。 要么就弃用v-bind传入函数,改为emit传入自定义事件 [uniapp] uview(1.x) 二次封装u-navbar 导致…

ubuntu配置 Conda 更改默认环境路径

我的需求是以后凡是新建一个虚拟环境都需要安装在一个挂载了大容量的分区/data里面 /home里面的是即将爆满但是还能塞点东西的硬盘. 如果您想要永久更改 Conda 的默认环境路径&#xff0c;可以编辑 Conda 的配置文件。首先&#xff0c;找到 Conda 的配置文件通常是 .condarc 文…

C#学习 - 参数、拓展方法

传值参数 在声明时不带修饰符的形参就是值参数 一个值参数对应一个局部变量&#xff0c;它的初始值来自该方法调用所提供的相应实参。值参数是实参的副本&#xff0c;对值参数的操作不会影响变量的值 传值参数 - 值类型 internal class Program {static void Main(string[] …

C++ 使用堆栈解决回文匹配问题

题目&#xff1a;设称正读和反读都相同的字符序列为“回文”&#xff0c;例如&#xff0c;“abba“和“abccba”是“回文”&#xff0c;“abcde”和“ababab”则不是“回文“&#xff0c;试写一个算法&#xff0c;判别读入的一个以为结束符的字符序列是否是“回文”。 主要思想…

如何读懂深度学习python项目,以`Multi-label learning from single positive label`为例

Paper : Multi-label learning from single positive label Code 先读一读README.md 可能有意想不到的收获&#xff1b; 实验环境设置要仔细看哦&#xff01; 读论文 如何读论文&#xff0c;Readpaper经典十问 &#xff08;可能在我博客里有写&#xff09; How to read a …

@JsonFormat 注解的使用

SpringBoot 中的 JsonFormat 注解 1. 引言2. 简介3. 使用①引入依赖②添加注解 1. 引言 在前后端交互过程当中&#xff0c;往往需要后端返回前端日期类型数据&#xff0c;在将数据返回给前端的时候&#xff0c;可能会需要对日期类型进行格式化&#xff1b; 为更便捷的返回需要…

html获取网络数据,列表展示 一

html获取网络数据&#xff0c;列表展示 js遍历json数组中的json对象 image.png || - 判断数据是否为空&#xff0c;为空就显示 - <!DOCTYPE html> <html><head><meta charset"utf-8"><title>网页列表</title></head><b…

WordPress恢复时候遇到的几个问题

1&#xff0c;一键安装 LAMP 最好是选择 CentOS 这种成熟的系统&#xff0c;最开始用 Alibaba Linux 报了好几个错&#xff0c;懒得折腾&#xff0c;最后重置镜像了。 https://lnmp.org/ wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar z…

省钱兄短剧短视频视频滑动播放模块源码支持微信小程序h5安卓IOS

# 开源说明 开源省钱兄短剧系统的播放视频模块&#xff08;写了测试弄了好久才弄出来、最核心的模块、已经实战了&#xff09;&#xff0c;使用uniapp技术&#xff0c;提供学习使用&#xff0c;支持IOSAndroidH5微信小程序&#xff0c;使用Hbuilder导入即可运行 #注意&#xff…

JavaScript从入门到精通系列第二十六篇:详解JavaScript中的Math对象

大神链接&#xff1a;作者有幸结识技术大神孙哥为好友&#xff0c;获益匪浅。现在把孙哥视频分享给大家。 孙哥连接&#xff1a;孙哥个人主页 作者简介&#xff1a;一个颜值99分&#xff0c;只比孙哥差一点的程序员 本专栏简介&#xff1a;话不多说&#xff0c;让我们一起干翻J…

ES的三种分页的选择

一、ES的三种分页的选择 es实现分页查询&#xff0c;在ES中有三种方式可以实现分页&#xff1a;fromsize、scroll、search_after 1、fromsize 分页 原理&#xff1a; 假设取的页数较大时(深分页)&#xff0c;如请求第20页&#xff0c;Elasticsearch不得不取出所有分片上的第…

无人机真机搭建问题记录文档(待续)

搭建问题 问题1 高飞课程中的飞控停产&#xff0c;更换飞控&#xff08;pixhawx 6c&#xff09;出现如下问题 1、飞控太大造成安装机载电脑的碳板上的孔被挡住。 2、课程提供的飞控固件&#xff0c;与更换的飞控不匹配 解决办法 1、现在的无人机碳板上只安装三个螺纹孔&…

pytorch 笔记:index_select

1 基本使用方法 index_select 是 PyTorch 中的一个非常有用的函数&#xff0c;允许从给定的维度中选择指定索引的张量值 torch.index_select(input, dim, index, outNone) -> Tensorinput从中选择数据的源张量dim从中选择数据的维度index 一个 1D 张量&#xff0c;包含你想…

GPS学习(一):在ROS2中将GPS经纬度数据转换为机器人ENU坐标系,在RVIZ中显示坐标轨迹

文章目录 一、GPS模块介绍二、坐标转换转换原理参数解释&#xff1a; 增加回调函数效果演示 本文记录在Ubuntu22.04-Humbel中使用NMEA协议GPS模块的过程&#xff0c;使用国产ROS开发板鲁班猫(LubanCat )进行调试。 一、GPS模块介绍 在淘宝找了款性价比较高的轮趣科技GPS北斗双…

Linux 远程桌面软件

为您的 IT 管理员配备最好的 Linux 远程桌面软件至关重要。原因如下&#xff1f;Linux 是一个开源和免费的操作系统&#xff0c;它提供了一个非常灵活和可定制的软件内核。由于其开源性质&#xff0c;Linux 被认为是市场上最安全的操作系统之一&#xff0c;它拥有一个全球用户社…

关于readline方法使用的一个中文乱码引发的思考

故事起源于这段代码&#xff0c;我想给一个本地地址然后去读取文件内容&#xff0c;然后使用了reader.readLine();方法&#xff0c;但是本地没有任何报错&#xff0c;但是线上中文乱码导致直接报错了。 BufferedReader reader;try {reader new BufferedReader(new FileReader(…

Qt 中model/View 架构 详解,以及案例实现相薄功能

model/View 架构 导读 ​ 我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的 Qt 要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改…

PHP自定义文件缓存实现

文件缓存&#xff1a;可以将PHP脚本的执行结果缓存到文件中。当一个PHP脚本被请求时&#xff0c;先查看是否存在缓存文件&#xff0c;如果存在且未过期&#xff0c;则直接读取缓存文件内容返回给客户端&#xff0c;而无需执行脚本 1、文件缓存写法一&#xff0c;每个文件缓存一…

【项目实训】汽车租贷系统(完整代码)

文章目录 1.实验目标2.实验设计3.完整代码4.具体分析5.实验结果附:系列文章1.实验目标 本实验旨在设计和实现一个汽车租赁系统,供客户使用。该系统能够根据客户的选择自动计算租金、租车日期、注意事项以及优惠金额等内容,并提供相应的服务和提示。 2.实验设计 2.1 类的设…

语音信号处理给音乐信号增加房间混响效果

语音信号处理给音乐信号增加房间混响效果 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务 1 源码布局 2 源文件与音频文件和生成文件 3 编译方法