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

力扣370周赛

力扣第370场周赛

找到冠军 I

答案即入度为0的点

class Solution {
public:int findChampion(vector<vector<int>>& grid) {vector<int>d(100+5);int n = grid.size() , m = grid[0].size();for(int i = 0 ; i < n ; i ++){for(int j = 0 ; j < m ; j ++){if(grid[i][j] == true){d[j] ++;}}}for(int i = 0 ; i < n ; i ++){if(d[i] == 0)return i;}return -1;}
};

找到冠军 II

和I相同,加个判断下入度为0的点的个数即可

class Solution {
public:int findChampion(int n, vector<vector<int>>& edges) {vector<int>d(n+5);for(int i  = 0 ; i < edges.size(); i ++ ){cout << edges[i][1] << " ";d[edges[i][1]]++;}int res = 0 , cnt = 0;for(int i = 0 ; i < n ; i ++){if(d[i] == 0){res  = i;cnt ++;}}if(cnt > 1)return -1;return res;}
};

在树上执行操作以后得到的最大分数

题目可以转化为
在树中选任意节点,使得从根节点出发,到任意叶子节点经过的路径上的节点值之和都不等于0且选的值最小
从根节点开始dfs,选根节点或者子树的和

class Solution {
public:long long maximumScoreAfterOperations(vector<vector<int>>& edges, vector<int>& values) {vector<vector<int>> g(values.size());long long res = 0;for (auto &e: edges) {int x = e[0], y = e[1];g[x].push_back(y);g[y].push_back(x);}function<long long (int , int )> dfs = [&](int u , int f) -> long long {long long ans = values[u] , su = 0;for(auto j:g[u]){if(j == f)continue;su += dfs(j , u);}if(su == 0 || ans < su)return ans;return su;};for(auto x : values)res += x;res -= dfs(0 , -1);return res;}
};

平衡子序列的最大和

1.定义 b[i] = nums[i] - i,问题变成从 b 中选出一个非降子序列,求对应的 nums 的元素和的最大值,离散化后在1e5内

2.定义 f[i] 表示子序列最后一个数的下标是 i 时,对应的 nums 的元素和的最大值。那么答案就是 max⁡(f)
f[i] = max(f[j] , 0) + nums[i];

3.等式左边单点修改,右边区间查询用线段树优化

class Solution {
public:struct Node{int l, r;long long v;  // 区间[l, r]中的最大值}tr[400008];void pushup(int u){tr[u].v = max(tr[u << 1].v, tr[u << 1 | 1].v);}void build(int u, int l, int r){tr[u] = {l, r};if (l == r) return;int mid = (l + r) >> 1;build(u << 1, l, mid), build(u << 1 | 1, mid + 1, r);pushup(u);}long long query(int u, int l, int r){if (tr[u].l >= l && tr[u].r <= r) return tr[u].v;int mid = (tr[u].l + tr[u].r) >> 1;long long v = 0;if (l <= mid) v = query(u << 1, l, r);if (r > mid) v = max(v, query(u << 1 | 1, l, r));return v;}void modify(int u, int x, long long v){if (tr[u].l == x && tr[u].r == x) tr[u].v = v;else{int mid = (tr[u].l + tr[u].r) >> 1;if (x <= mid) modify(u << 1, x, v);else modify(u << 1 | 1, x, v);pushup(u);}}long long maxBalancedSubsequenceSum(vector<int>& nums) {int n = nums.size();// 离散化 nums[i]-iauto b = nums;for (int i = 0; i < n; i++) {b[i] -= i;}sort(b.begin(), b.end());b.erase(unique(b.begin(), b.end()), b.end()); // 去重build(1, 1, 100001);for (int i = 0; i < n; i++) {// j 为 nums[i]-i 离散化后的值(从 1 开始)int j = lower_bound(b.begin(), b.end(), nums[i] - i) - b.begin() + 1;long long f = max(query(1,0, j), 0LL) + nums[i];modify(1, j, f);}long long res = -0x3f3f3f3f;for(long long x : nums)res = max(res , x);if(query(1,0, 100001) == 0)return res;return query(1,0, 100001);     }
};

相关文章:

力扣370周赛

力扣第370场周赛 找到冠军 I 答案即入度为0的点 class Solution { public:int findChampion(vector<vector<int>>& grid) {vector<int>d(1005);int n grid.size() , m grid[0].size();for(int i 0 ; i < n ; i ){for(int j 0 ; j < m ; j )…...

EMNLP2023 | 让模型学会将提示插入到合适的中间层

深度学习自然语言处理 原创作者&#xff1a;cola 现有的提示微调方法基本是人工选择提示层&#xff0c;而人工选择将提示插入到哪些层次并非一定合理&#xff0c;这导致了很大程度上限制提示微调发挥潜能。我们的模型(SPT)可以让模型自己学习应该在哪些中间层插入提示&#xff…...

【PG】PostgreSQL单机部署(简洁命令版)

目录 1 下载安装包 2 上传至需要安装的服务器 3 服务器安装所需依赖包 4 解压安装包 5 配置安装 6 创建用户 7 创建目录修改权限 8 设置环境变量 9 设置共享库 10 初始化 11 启动数据库 12 关闭数据库 13 查看数据库状态 14 连接数据库 1 下载安装包 通过下载…...

AI:69-基于深度学习的音乐推荐

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...

php 使用phpoffice/phpspreadsheet拓展实现导出图片

基础操作参考&#xff1a;https://blog.csdn.net/huaweichenai/article/details/95994006 文档地址&#xff1a;https://phpspreadsheet.readthedocs.io/ github地址&#xff1a;https://github.com/PHPOffice/PhpSpreadsheet 导出插入图片主要使用\PhpOffice\PhpSpreadshee…...

几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办

电脑提示mfc140.dll缺失&#xff0c;如果你不去处理的话&#xff0c;那么你的程序游戏什么都是启动不了的&#xff0c;如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决&#xff0c;今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…...

并发修改异常

并发修改异常&#xff08;Concurrent Modification Exception&#xff09;是指在多线程环境下&#xff0c;当一个方法检测到对象的并发修改&#xff0c;但不允许这种修改时&#xff0c;抛出的一种异常。换句话说&#xff0c;当两个或多个线程同时对一个对象进行修改时&#xff…...

split() 函数实现多条件转为数据为数组类型

使用 split() 函数并传递正则表达式 /[,;.-]/ 作为分隔符来将字符串按照逗号、分号和破折号进行拆分&#xff0c;并将结果赋值给 splitArray 数组。下面是一个示例代码&#xff1a; 在上面的示例中&#xff0c;我们使用 split() 函数将 inputString 字符串按照逗号、分号和破折…...

【Springboot】Vue3-Springboot引入JWT实现登录校验以及常见的错误解决方案

文章目录 前言一、JWT简单介绍二、token校验设计思路三、使用步骤Springboot部署JWT引入依赖&#xff1a;创建登录实体类后端&#xff1a;LoginController.java路由守卫函数 四、问题 前言 项目版本&#xff1a; 后端&#xff1a; Springboot 2.7、 Mybatis-plus、Maven 3.8.1…...

VueCli 自定义创建项目及配置

一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…...

2024年节假日sql脚本(区分休息日、节假日、工作日、调休工作)

建表 CREATE TABLE no_work_day (id int NOT NULL AUTO_INCREMENT,day varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb3 COMMENT节假日表;执行脚本插入数据 INSERT INTO no_work_day (day) VALUES (20240101); INSERT INTO no_work_day (…...

vue3介绍

介绍 3完全兼容2的语法 vue3&#xff1a;体积更小&#xff0c;性能会更高。底层做了很多优化 2倍左右 vue3vitets 渐进式框架 vue3和vue2 的区别 新语法&#xff0c;性能上提升很多 思想是一致的&#xff1a;动态绑定&#xff1a;状态data&计算属性&#xff0c;监听某些状态…...

Spark SQL自定义collect_list分组排序

想要在spark sql中对group by concat_ws()的字段进行排序&#xff0c;可以参考如下方法。 原始数据如下&#xff1a; ------------ |id |name |type| ------------ |1 |name1|p | |2 |name2|p | |3 |name3|p | |1 |x1 |q | |2 |x2 |q | |3 |x3 |q | …...

2023年云计算的发展趋势如何?

混合云的持续发展&#xff1a;混合云指的是将公有云和私有云进行结合&#xff0c;形成一种统一的云计算环境。随着企业对数据隐私和安全性的要求越来越高&#xff0c;以及在数据存储和处理方面的需求不断增长&#xff0c;混合云正在逐渐成为主流。预计未来混合云将会继续保持高…...

uniapp中picker 获取时间组件如何把年月日改成年月日默认时分秒为00:00:00

如图所示&#xff0c;uniapp中picker组件的日期格式为&#xff1a; 但后端要 2023-11-08 00:00:00格式 如何从2023-11-08转化为 2023-11-08 00:00:00&#xff1a;&#x1f447; const date new Date(e.detail.value);//"2023-11-17" date.setHours(0, 0, 0); // 2…...

k8s operator

Kubernetes Operator 是一种用于特定应用的控制器&#xff0c;可扩展 Kubernetes API 的功能&#xff0c;来代表 Kubernetes 用户创建、配置和管理复杂应用的实例。它基于基本 Kubernetes 资源和控制器概念构建&#xff0c;但又涵盖了特定领域或应用的知识&#xff0c;用于实现…...

使用io_uring

目录 升级内核以支持io_uring Io_uring 关注点 有序性 IOPOLL SQPOLL 环大小 wrk线程数量 升级内核以支持io_uring #!/bin/bash#内核源码压缩包 kernel_targz"linux-5.14.21.tar.xz"#内核源码解压后的目录 kernel_source"linux-5.14.21"echo "…...

LeetCode算法题解(回溯)|LeetCode93. 复原 IP 地址、LeetCode78. 子集、LeetCode90. 子集 II

一、LeetCode93. 复原 IP 地址 题目链接&#xff1a;93. 复原 IP 地址 题目描述&#xff1a; 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.…...

vue、react数据绑定的区别?

Vue 和 React 是两个流行的前端框架&#xff0c;它们在数据绑定方面有一些区别。 Vue 的数据绑定&#xff1a; Vue 使用双向数据绑定&#xff08;two-way data binding&#xff09;的概念。这意味着当数据发生变化时&#xff0c;视图会自动更新&#xff1b;同时&#xff0c;当…...

前端Vue 页面滑动监听 拿到滑动的坐标值

前言 前端Vue 页面滑动监听 拿到滑动的坐标值 实现 Vue2写法 mounted() {// 监听页面滚动事件window.addEventListener("scroll", this.scrolling);}, methods: { scrolling() {// 滚动条距文档顶部的距离let scrollTop window.pageYOffset ||document.documentE…...

新手必看!Hunyuan-MT-7B-WEBUI翻译模型快速入门实战

新手必看&#xff01;Hunyuan-MT-7B-WEBUI翻译模型快速入门实战 1. 为什么选择Hunyuan-MT-7B-WEBUI 在全球化交流日益频繁的今天&#xff0c;语言障碍成为许多人面临的实际问题。无论是阅读外文资料、处理国际业务&#xff0c;还是学习外语&#xff0c;一个强大的翻译工具都能…...

个人学习笔记12

最终版 test_macro.svhifndef TEST_MACRO_SVH define TEST_MACRO_SVH// // Color Definition // define COLOR_RESET "\033[0m" define COLOR_BOLD_BLUE "\033[1;34m" define COLOR_BOLD_GREEN "\033[1;32m" define COLOR_BOLD…...

RWKV7-1.5B-world应用场景:智能硬件语音助手后端——低资源+高响应速度组合

RWKV7-1.5B-world应用场景&#xff1a;智能硬件语音助手后端——低资源高响应速度组合 1. 模型概述 RWKV7-1.5B-world是基于第7代RWKV架构的轻量级双语对话模型&#xff0c;专为资源受限环境下的智能硬件应用而设计。这个15亿参数的模型采用创新的线性注意力机制&#xff0c;…...

如何用GORM实现自动化数据处理:从定时任务到高效数据管理的完整指南

如何用GORM实现自动化数据处理&#xff1a;从定时任务到高效数据管理的完整指南 【免费下载链接】gorm The fantastic ORM library for Golang, aims to be developer friendly 项目地址: https://gitcode.com/gh_mirrors/gor/gorm GORM是Golang生态中一款开发者友好的O…...

如何将React与Docsify无缝集成:混合框架开发模式完整指南

如何将React与Docsify无缝集成&#xff1a;混合框架开发模式完整指南 【免费下载链接】docsify &#x1f0cf; A magical documentation site generator. 项目地址: https://gitcode.com/gh_mirrors/do/docsify Docsify作为一款轻量级文档生成工具&#xff0c;以其无需构…...

DTVM:融合EVM生态与Wasm性能的下一代确定性虚拟机

1. 项目概述&#xff1a;下一代确定性虚拟机DTVM 如果你在区块链开发领域摸爬滚打过几年&#xff0c;尤其是在智能合约和虚拟机执行层有过深度实践&#xff0c;那你一定对性能、确定性和生态兼容性这“三座大山”深有体会。传统的EVM&#xff08;以太坊虚拟机&#xff09;以其…...

样本不平衡下航空燃油泵故障诊断方法【附代码】

✅ 博主简介&#xff1a;擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 如需沟通交流&#xff0c;扫描文章底部二维码。&#xff08;1&#xff09;星雀优化图神经网络的专家知识聚合模型&#xff1a;针对燃油…...

大模型内部的数学世界

从文字到数字,从数字到理解 引言:当你对大模型说"你好" 想象你走进一座巨大的图书馆。这座图书馆里有数十亿本书,每本书都记录着人类的知识。当你走向前台,对管理员说:"你好,请问什么是量子力学?"——管理员听到了你的问题,然后在她的大脑中开始…...

深度学习激活正则化原理与实践指南

1. 深度学习中的激活正则化概述在深度神经网络训练过程中&#xff0c;模型会自动从原始输入数据中学习丰富的内部表示&#xff0c;这一过程被称为特征学习或表示学习。良好的学习表示不仅能提供对问题领域的深入洞察&#xff08;例如通过可视化学习到的特征&#xff09;&#x…...

Dantotsu常见问题解答:解决登录失败、下载错误与性能优化技巧

Dantotsu常见问题解答&#xff1a;解决登录失败、下载错误与性能优化技巧 【免费下载链接】Dantotsu Anilist client based on Saikou 项目地址: https://gitcode.com/gh_mirrors/da/Dantotsu Dantotsu是一款基于Saikou的Anilist客户端&#xff0c;为动漫爱好者提供便捷…...