第 125 场 LeetCode 双周赛题解

A 超过阈值的最少操作数 I

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

排序然后查找第一个大于等于 k 的元素所在的位置

class Solution {
public:int minOperations(vector<int> &nums, int k) {sort(nums.begin(), nums.end());return lower_bound(nums.begin(), nums.end(), k) - nums.begin();}
};

B 超过阈值的最少操作数 II

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

模拟:用最小堆维护数组中的最小元素

class Solution {
public:int minOperations(vector<int> &nums, int k) {priority_queue<long long, vector<long long>, greater<long long>> heap;for (auto x: nums)heap.push(x);int res = 0;while (heap.size() > 1 && heap.top() < k) {res++;int x = heap.top();heap.pop();int y = heap.top();heap.pop();heap.push(2LL * min(x, y) + max(x, y));}return res;}
};

C 在带权树网络中统计可连接服务器对数目

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

dfs:枚举 c c c ,以 c c c 的各邻接点为源点进行 d f s dfs dfs ,设各次 d f s dfs dfs 过程中路径和可以被 s i g n a l S p e e d signalSpeed signalSpeed 整除的节点数目为 a 1 , ⋯ , a k a_1,\cdots,a_k a1,,ak,则通过 c c c 可连接的服务器对的数目为 ∑ 1 ≤ i < j ≤ k a i a j \sum_{1\le i<j\le k }a_ia_j 1i<jkaiaj

class Solution {
public:vector<int> countPairsOfConnectableServers(vector<vector<int>> &edges, int signalSpeed) {int n = edges.size() + 1;vector<pair<int, int>> e[n];for (auto &ei: edges) {e[ei[0]].emplace_back(ei[1], ei[2]);e[ei[1]].emplace_back(ei[0], ei[2]);}int cnt;function<void(int, int, int)> dfs = [&](int cur, int pre, int ps) {//当前路径和为psif (ps % signalSpeed == 0)cnt++;for (auto &[j, w]: e[cur])if (j != pre)dfs(j, cur, ps + w);};vector<int> res(n);for (int r = 0; r < n; r++) {int s = 0;//a_1+...+a_(j-1)for (auto &[j, w]: e[r]) {cnt = 0;//a_jdfs(j, r, w);res[r] += s * cnt;s += cnt;}}return res;}
};

D 最大节点价值之和

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

思维 + 贪心:考虑对树上的一条路径的各边进行操作时,相当于只对路径的两段点进行了异或操作,所以等价于每次操作可以对任意两点进行。将 n u m s [ i ] ∧ k − n u m s [ i ] nums[i]\wedge k -nums[i] nums[i]knums[i] 按降序排序,然后两两一组进行操作,直到只剩一个元素或两个一组之和小于等于 0 0 0

class Solution {
public:long long maximumValueSum(vector<int> &nums, int k, vector<vector<int>> &edges) {vector<int> li;for (auto x: nums)li.push_back((x ^ k) - x);sort(li.begin(), li.end(), greater<int>());//降序排序long long res = accumulate(nums.begin(), nums.end(), 0LL);//原数组元素和long long d = 0;for (int i = 0; i + 1 < li.size(); i += 2)if (li[i] + li[i + 1] > 0) {//两两一组地进行操作d += li[i] + li[i + 1];} elsebreak;return res + d;}
};

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

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

相关文章

C++ 位运算OJ

目录 1、 191. 位1的个数 2、 338. 比特位计数 3、 461. 汉明距离 4、136. 只出现一次的数字 5、 260. 只出现一次的数字 III 6、面试题 01.01. 判定字符是否唯一 7、 268. 丢失的数字 8、 371. 两整数之和 9、 137. 只出现一次的数字 II 10、面试题 17.19. 消失的两个…

【C++】二叉树进阶面试题(上)

目录 1. 二叉树创建字符串 题目 分析 代码 2. 二叉树的分层遍历1 题目 分析 代码 3. 二叉树的分层遍历2 题目 分析 代码 4. 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 题目 分析 代码 5. 二叉树搜索树转换成排序双向链表 题目 分析 代码 1. …

使用GitHub API 查询开源项目信息

一、GitHub API介绍 GitHub API 是一组 RESTful API 接口&#xff0c;用于与 GitHub 平台进行交互。通过使用 GitHub API&#xff0c;开发人员可以访问和操作 GitHub 平台上的各种资源&#xff0c;如仓库、提交记录、问题等。 GitHub API 提供了多种功能和端点&#xff0c;以…

昇腾芯片解析:华为自主研发的人工智能处理器全面分析

在当今科技发展的浪潮中&#xff0c;昇腾芯片作为一种新兴的处理器&#xff0c;正引起广泛的关注和讨论。升腾芯片究竟是由哪家公司生产的&#xff1f;这个问题一直困扰着许多人。下面小编将全面介绍、分析升腾芯片的生产商及各类参数、应用&#xff0c;以便读者对其有更全面的…

Day26-进程管理核心知识2

Day26-进程管理核心知识2 1. top选项介绍2. 进程的三个杀手。2.1 kill2.2 killall 通过进程名字 kill processes by name2.3 pkill 通过进程名称(完整名称) 3. screen命令4. 什么是进程优先级&#xff1f;5. strace&#xff1a;跟踪进程的系统调用 * 1. top选项介绍 【语法格式…

【C++】函数入参 值传递和引用传递,与C语言的区别

在 C 中&#xff0c;函数的参数传递有值传递和引用传递两种方式。当函数的参数是 vector 类型时&#xff0c;可以选择使用 vector 或 vector& 作为参数类型&#xff0c;两者各有优劣&#xff1a; vector vect1&#xff1a;这种方式使用了值传递&#xff0c;即在函数调用时…

自学高效备考2025年AMC8数学竞赛:2000-2024年AMC8真题解析

今天继续来随机看五道AMC8的真题和解析&#xff0c;根据实践经验&#xff0c;对于想了解或者加AMC8美国数学竞赛的孩子来说&#xff0c;吃透AMC8历年真题是备考最科学、最有效的方法之一。即使不参加AMC8竞赛&#xff0c;吃透了历年真题600道和背后的知识体系&#xff0c;那么小…

Dism修复Windows出错(错误代码0x800f081f,找不到源文件)的解决方法

一、环境 系统&#xff1a;Windows 10 二、Dism修复步骤 注&#xff1a;以下操作都需要管理员权限。修复过程需要联网。 2.1 dism扫描全部系统文件 DISM /Online /Cleanup-image /Scanhealth如果结果是“未检测到组件存储损坏 ”&#xff0c;说明完好&#xff0c;可以退出…

Maven终端命令生成Spring-boot项目并输出“helloworld“

1. 生成项目 mvn archetype:generate填写groupId和artifactId&#xff0c;其余默认即可 2. 修改pom.xml文件 将如下内容放入pom.xml文件内 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artif…

Conda笔记--移动Conda环境后pip使用异常的解决

1--概述 由于各种原因&#xff0c;需要将Anaconda转变为Minicoda&#xff0c;为了保留之前安装的所有环境&#xff0c;直接将anaconda3/envs的所有环境拷贝到Miniconda/envs中&#xff0c;但在使用移动后环境时会出现pip的错误&#xff1a;bad interpreter: No such file or di…

计算机网络-物理层-传输媒体

传输媒体的分类 导向型-同轴电缆 导向型-双绞线 导向型-光纤 非导向型

面试问答总结之Java进阶

文章目录 &#x1f412;个人主页&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;注解Annotaion &#xff08;java标注&#xff09;&#x1f415;内置注解&#x1f415;元注解 &#x1f380;对象克隆&#x1f415;如何实现克隆&#x1f415;如何实现深克…

Vue3教程

1.1 配置环境 vue官网&#xff1a; Vue.js - The Progressive JavaScript Framework | Vue.js 终端 Linux和Mac上可以用自带的终端。 Windows上推荐用powershell或者cmd。Git Bash有些指令不兼容。 安装Nodejs 安装地址&#xff1a; Node.js 安装vue/cli 打开Git Bash&#x…

C#,最小代价多边形三角剖分MCPT(Minimum Cost Polygon Triangulation)算法与源代码

1 最小代价多边形三角剖分算法 凸多边形的三角剖分是通过在非相邻顶点&#xff08;角点&#xff09;之间绘制对角线来形成的&#xff0c;这样对角线就不会相交。问题是如何以最小的代价找到三角剖分的代价。三角剖分的代价是其组成三角形的权重之和。每个三角形的重量是其周长…

293.【华为OD机试】剩余银饰的重量(模拟和贪心算法JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

LLM春招准备(1)

llm排序 GPT4V GPT-4V可以很好地理解直接绘制在图像上的视觉指示。它可以直接识别叠加在图像上的不同类型的视觉标记作为指针&#xff0c;例如圆形、方框和手绘&#xff08;见下图&#xff09;。虽然GPT-4V能够直接理解坐标&#xff0c;但相比于仅文本坐标&#xff0c;GPT-4V在…

蓝桥杯练习题——dp

五部曲&#xff08;代码随想录&#xff09; 1.确定 dp 数组以及下标含义 2.确定递推公式 3.确定 dp 数组初始化 4.确定遍历顺序 5.debug 入门题 1.斐波那契数 思路 1.f[i]&#xff1a;第 i 个数的值 2.f[i] f[i - 1] f[i - 2] 3.f[0] 0, f[1] 1 4.顺序遍历 5.记得特判 …

Web前端---表格和表单

1.表格概述 表格标记&#xff1a;<table></table> 表格标题标记&#xff1a;<caption></caption> 表头&#xff1a;<th></th>------heading 行标记&#xff1a;<tr></tr>-----r是row 列标记&#xff1a;<td></t…

数据可视化原理-腾讯-散点图

在做数据分析类的产品功能设计时&#xff0c;经常用到可视化方式&#xff0c;挖掘数据价值&#xff0c;表达数据的内在规律与特征展示给客户。 可是作为一个产品经理&#xff0c;&#xff08;1&#xff09;如果不能够掌握各类可视化图形的含义&#xff0c;就不知道哪类数据该用…

快速搭建Vue前端框架

快速搭建Vue前端框架 安装Vue Vue官方安装过程:https://cli.vuejs.org/zh/guide/installation.html 二.创建Vue工程 2.2 安装淘宝镜像 安装淘宝镜像&#xff08;会让你安装Vue的速度加快&#xff09;&#xff1a; npm config set registry https://registry.npm.taobao.or…