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

【Fifty Project - D21】

今日完成记录

TimePlan完成情况
9:00 - 10:00爬楼梯
12:00 - 14:00Leetcode
14:00 - 15:00《挪威的森林》

Leetcode

每日一题

今天的每日一题是个easy:给定一个数组,要求统计其中数位为偶数的数的数量。数字范围在0-1e5 我就直接写了个遍历加if判断了。

hard我唯唯诺诺,easy我重拳出击!
每日一题居然这么快就不滑动窗口了?

树上倍增算法

上周周赛当时说要补的题结果转头就忘光光了,昨天重新去看了题目,发现自己的思路还是太暴力了,看了0x3f的题解发现原来要用树上倍增,今天就来重新复习一下树上倍增算法吧

树上倍增算法是一种典型的空间换时间算法,通过记忆更多的祖先以实现快速查找第k个祖先,也是一个典型的充分利用二进制思想的算法。
具体来说,给定一棵n个节点的树,对于任意节点记忆最多指定的 2 m 2^m 2m个祖先,其中 2 m > = n 2^m >= n 2m>=n,也就是m = 32 - Integer.numberOfLeadingZeros(n),用pa数组记录,pa是一个n * m的数组,其中pa[i][j]表示节点i的第 2 j 2^j 2j个祖先,便可以通过特定的方法实现O(logn)复杂度查询任意节点的第k个祖先。

接下来我们说一下为什么要这么构造pa,以及如何利用pa查询任意祖先。

如下图是一个15个节点的满二叉树,根据上面的定义得到pa数组是一个15*4的数组
十五个节点的满二叉树
该算法的目的是通过每个节点记录m个祖先实现O(logn)查询任意节点的任意祖先。

先不考虑如何实现O(logn)的问题,我们通过最暴力的做法从一般到特殊地去实现。最暴力的做法是每次向上跳一级,每次都找自己的父节点,然后k–直到k=0就找到了目标祖先,这种方法因为每次只跳一级,所以需要跳k次。那么想一想如果每次多跳几级,是不是可以少跳几次呢?假设每次跳2级(先不考虑复杂情况,也就是k为奇数,也不考虑怎么实现每次跳2级),那么实际上我们只需要跳k / 2次。至此我们发现了一点:目标是k,实际上每次可以跳任意次数,可以直接找爹,也可以找爷爷,当然如果你能实现也可以直接找祖先。也可以得到一个结论:记一次寻找祖先需要j次,那么 k = a 0 + a 1 + . . . + a j − 1 k = a_0 + a_1 + ... + a_{j - 1} k=a0+a1+...+aj1,其中 a i a_i ai表示第i次跳的级数。

接下来我们需要想一想,怎么用一种通用的方法拆解这个k,以及如何记忆节点的这些祖先节点,首先我们不难发现如果希望得到k祖先的跳跃次数更少,那么相应的记忆的祖先就会更多,相反亦然。那么接下来我们从最暴力的方法开始,从两个极端开始考虑:时间最小和空间最小。
时间最小:每次都是O(1)查询到k祖先,也就是只跳一次,对于任意k都可以直接查询到,那只能是记忆每个节点的每个祖先,那么pa数组大小应该是n * n,并且构造这个数组也得花费n * n 时间。
空间最小:极端情况就是上面提到的暴力解法,pa只记录每个节点的父节点,那么大小是 n * 1,而每次查询只能逐级向上跳,也就是时间复杂度O(n)。

很明显上面两种极端思想都不是我们想要的,我们需要在时间和空间上有所折中。树上倍增算法就利用了二进制实现了对k的拆分以及pa数组的记忆。首先任意一个数可以很容易实现二进制拆分,如15 = 1 + 2 + 4 + 8. 然后pa数组记录每个节点的 2 i 2 ^ i 2i的祖先,上面的满二叉树对应的pa数组如下表

node\pa0123
1-1-1-1-1
21-1-1-1
31-1-1-1
421-1-1
521-1-1
631-1-1
731-1-1
842-1-1
942-1-1
1052-1-1
1152-1-1
1263-1-1
1363-1-1
1473-1-1
1573-1-1

说完树上倍增是如何实现k的拆分以及pa数组的构造,接下来说一下如何利用二进制和pa进行k数组的查询,如上例子,我们查询节点10的第三个祖先,根据二进制拆分k = 1 + 2,那么接下来只需要从节点10向上跳两次,一次跳1个祖先一次跳2个祖先。pa存储的便是每个节点的2的整数幂个祖先,所以从pa可以直接取到节点10的 2 0 2^0 20祖先即pa[10][0] = 5,接下来找节点5的 2 1 2 ^ 1 21祖先即pa[5][1] = 1,得节点10的第三个祖先是1.

代码实现pa数组的构造

private void buildPa(int[] p){int n = p.length;int m = 32 - Integer.numberOfLeadingZeros(n);this.pa = new int[n][m];for(int i = 0; i < n; i ++) pa[i][0] = p[i];for(int i = 1; i < m; i ++){// 这层循环逐步构造pa[j][i] 因为pa[j][0]已经初始化好了,就可以根据pa[j][0]构造pa[j][1],如此循环下去for(int j = 0; j < n; j ++ ){// 谨记摇摇车上唱的“爸爸的爸爸是爷爷”// pa[j][i]就是我们要找的爷爷,所以先看看爸爸是否存在 -1则不存在 存在的话就找一下爸爸的爸爸pa[j][i] = pa[j][i - 1] == -1 ? -1 : pa[pa[j][i - 1]][i - 1];}}
}

代码实现如何通过pa找到节点的k祖先

public int findKthAncestor(int node, int k){// 分解k 实际实现就是从他的二进制表示中最高位(非0)开始向低位遍历for(int i = 32 - Integer.numberOfLeadingZeros(k); i > 0 && node != -1; i --){if((k >> (i - 1) & 1) == 1) node = pa[node][i];}return node;
}

树上倍增算法拓展还可以用于两个节点u和v的最近公共祖先查询,首先利用一次dfs标记每个节点的深度并存储。查询u和v的最近公共祖先首先通过深度对比,统一二者的深度(更深的那个先跳到更浅节点的同一高度),此时有两种情况,一个是指向了同一个节点(浅者为两者最近公共祖先),另一个则是不同节点,那么此时两者共同向上跳,尽可能远地向上跳。
对于情况2,设i = log(n) 下取整,让u和v按照下面策略同时向上跳, 直到i为0:

  • 如果pa[u][i] == -1 那么说明跳不了这么高,lca在下面,i–
  • 如果pa[u][i] != -1, 如果pa[u][i] == pa[v][i],那么说明lca在当前点或者在当前点的下面,令i–;如果pa[u][i] != pa[v][i] 说明lca在当前的上面,那么令u = pa[u][i], v = pa[v][i],i–

重复上述操作直到i = 0,此时lca = pa[u][0]。也就是走到最后会停在lca的子节点处,这也正是为什么pa[u][i] == pa[v][i]时依然直接i-- 而不是赋值u和v到新的节点。
树上倍增算法板子题
针对图的路径存在性查询II:上周周赛要补的题,题干是给定长度为n的数组nums(无序),这是n个节点的权重,现规定如果两个节点权重的差值小于等于maxDiff则存在一条无向边,现给出q个询问,每次询问两个节点的最短路径长度,不通则返回-1.
思路:这个题从针对图的路径存在性查询I的思路过来,自然想到首先应该处理nums数组,带下标排序,使nums升序,这样可以用双指针很快处理出哪些节点存在边。题目的q数据规模是1e5,n也是1e5,所以每次查询应该是O(logn),这里就需要结合树上倍增算法,通过双指针得到直接父节点,然后用树上倍增记忆每个节点的 2 i 2^i 2i祖先,然后用求lca的方法找到从孙节点到祖先节点的跳数,即为两点的最小路径长度。详细讲解请参考0x3f大佬的题解。

其中还学到了很好的带下标排序写法(之前都是写一个内部类存排序元素和下标再排序)

Integer[] idx = new Integer[n];
Arrays.setAll(idx, i -> i);
Arrays.sort(idx, (o1, o2) -> nums[o1] - nums[o2]);

《挪威的森林》

今天阅读了第四章,绿子出场了,好像也是一个过往很艰难的女孩,然后莫名其妙地两人就在一起了,emm算在一起吗,“我”还在等着直子新的回信… 复杂的剧情下“我”又和一个被绿了的女孩one night stand。很难评~

相关文章:

【Fifty Project - D21】

今日完成记录 TimePlan完成情况9&#xff1a;00 - 10&#xff1a;00爬楼梯√12&#xff1a;00 - 14&#xff1a;00Leetcode√14&#xff1a;00 - 15&#xff1a;00《挪威的森林》√ Leetcode 每日一题 今天的每日一题是个easy&#xff1a;给定一个数组&#xff0c;要求统计…...

中央网信办部署开展“清朗·整治AI技术滥用”专项行动

为规范AI服务和应用&#xff0c;促进行业健康有序发展&#xff0c;保障公民合法权益&#xff0c;近日&#xff0c;中央网信办印发通知&#xff0c;在全国范围内部署开展为期3个月的“清朗整治AI技术滥用”专项行动。 中央网信办有关负责人表示&#xff0c;本次专项行动分两个阶…...

《Python实战进阶》 No46:CPython的GIL与多线程优化

Python实战进阶 No46&#xff1a;CPython的GIL与多线程优化 摘要 全局解释器锁&#xff08;GIL&#xff09;是CPython的核心机制&#xff0c;它保证了线程安全却限制了多核性能。本节通过concurrent.futures、C扩展优化和多进程架构&#xff0c;实战演示如何突破GIL限制&#…...

BOTA新六维力传感器PixONE:用12维度力矩与运动感测,驱动人形机器人力控未来

在机器人技术日益发展的今天&#xff0c;六维力传感器对于提升机器人感知环境、增强操作精度发挥着重要作用。瑞士BOTA Systems是一家专注于机器人传感器技术的公司&#xff0c;致力于为原始设备制造商提供高性能的传感器解决方案。 PixONE是BOTA推出的一款创新的高精度传感器&…...

《PyTorch documentation》(PyTorch 文档)

PyTorch documentation(PyTorch 文档) PyTorch is an optimized tensor library for deep learning using GPUs and CPUs. (PyTorch是一个优化的张量库,用于使用GPU和CPU进行深度学习。) Features described in this documentation are classified by release status: (此…...

数据库的死锁相关(一)

目录 前言 一、什么死锁 二、产生死锁的必要条件 三、死锁发生的具体位置和场景 1. 数据行级别死锁&#xff08;最常见&#xff09; 2. 表级别死锁 3. 索引间隙锁死锁&#xff08;InnoDB特有&#xff09; 4. 外键约束死锁 5. 元数据锁死锁 6. 内存中的锁结构死锁 7.…...

数据编码(Encoding)

对数据做编码可以减少存储和 I/O开销,常见的技术比如 Dictionary Encoding,Run-Length Encoding,Bitpacking,Delta Encoding,Frame-of-Reference等。 本篇文章对这些编码方案进行介绍,举例说明,最后总结各种encoding的适用场景。 一、Dictionary Encoding(字典编码)…...

Wartales 战争传说 [DLC 解锁] [Steam] [Windows SteamOS]

Wartales 战争传说 [DLC 解锁] [Steam] [Windows & SteamOS] DLC 版本 至最新全部 DLC 后续可能无法及时更新文章&#xff0c;具体最新版本见下载文件说明 DLC 解锁列表&#xff08;仅供参考&#xff09; 《战争传说》 - Pirates of Belerion 《战争传说》 - The Tavern …...

决策树在电信客户流失分析中的实战应用

在当今数据驱动的时代&#xff0c;数据分析和机器学习技术在各行业的应用愈发广泛。电信行业面临着激烈的竞争&#xff0c;客户流失问题成为影响企业发展的关键因素之一。如何准确预测客户是否会流失&#xff0c;并采取相应措施挽留客户&#xff0c;是电信企业关注的重点。决策…...

滚珠丝杆怎么选型?

滚珠丝杆的选型需要考虑多个因素&#xff0c;包括应用需求、性能参数、环境因素等&#xff0c;以确保选型的准确性和合理性。 1、负载&#xff1a;确定设备运行时滚珠丝杆需要承受的静载荷和动载荷&#xff0c;包括轴向载荷和径向载荷&#xff0c;根据实际工作情况计算出最大负…...

HTN77A0原理图提供聚能芯半导体禾润一级代理技术支持免费送样

在电源管理需求日益严苛的当下&#xff0c;禾润 HTN77A0 以卓越性能脱颖而出。它不仅适配多种应用场景&#xff0c;还兼具高效节能与稳定输出&#xff0c;为设备供能带来革新体验。 禾润 HTN77A0 同步降压变换器&#xff0c;凭借5V~130V 超宽输入电压范围&#xff0c;打破传统供…...

linux中sigint和sigterm的区别

SIGINT 和 SIGTERM 是在 Unix 及类 Unix 系统&#xff08;包括 Linux&#xff09;中用于进程间通信的信号&#xff0c;它们都可以用于请求进程终止&#xff0c;区别如下&#xff1a; 1、信号编号与定义 在信号机制里&#xff0c;每个信号都有对应的编号&#xff0c;这便于系统…...

errorno 和WSAGetlasterror的区别

errno 和 WSAGetLastError 是用于获取错误代码的机制&#xff0c;但它们应用于不同的编程场景&#xff0c;下面为你详细介绍二者的区别&#xff1a; 应用场景 errno&#xff1a;它是 C 和 C 等编程语言里用于表示系统调用和库函数错误的全局变量。在 Unix、Linux 等类 Unix 系…...

《操作系统真象还原》第十一章——用户进程

文章目录 前言为什么要有TSSTSS简介TSS描述符和TSS结构现代操作系统采用的任务切换方式 定义并初始化TSS修改global.h编写tss.c测试 实现用户进程实现用户进程的原理维护虚拟地址空间&#xff0c;修改thread.h为进程创建页表和3特权级栈&#xff0c;修改memory.c进入特权级3用户…...

第 11 届蓝桥杯 C++ 青少组中 / 高级组省赛 2020 年真题答和案解析

一、选择题 第 1 题 单选题 题目:表达式 ‘6’ - ‘1’ 的值是 ( ) A. 整数 5 B. 字符 5 C. 表达式不合法 D. 字符 6 答案:A 解析:在 C++ 中,字符常量以 ASCII 码形式存储。6 的 ASCII 码为 54,1 的 ASCII 码为 49,二者相减结果为 5,是整数类型,因此选 A。 第 2 题 …...

ES搜索知识

GET /categories/1/10?name手机 // 按名称过滤 GET /categories/1/10?type电子产品 // 按类型过滤 GET /categories/1/10?name手机&type电子产品 // 组合过滤 查询参数 ApiOperation(value "获取商品分类分页列表")GetMapping("{page}/{limit}")…...

Java高阶程序员学习计划(详细到天,需有一定Java基础)

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息文章目录 Java高阶程序员学习计划(详细到天,需有一定Java基础)第一阶段(30天)Java基础:Java生态工具链:设计模式与编码规范:第二阶段(15天…...

SALOME源码分析: SMESH模块

本文分析SALOME GEOM模块。 注1&#xff1a;限于研究水平&#xff0c;分析难免不当&#xff0c;欢迎批评指正。 注2&#xff1a;文章内容会不定期更新。 一、核心组件 1.1 SMESHGUI 二、关键流程 网络资料 SALOME: Introduction to MESH Modulehttps://docs.salome-platform…...

提高程序灵活性和效率的利器:Natasha动态编译库【.Net】

从零学习构建一个完整的系统 今天推荐一个针对C#动态编译库&#xff0c;动态编译的使用场景有很多&#xff1a; 1、动态代码生成&#xff1a;可以根据用户的输入或者系统配置动态执行C#代码&#xff0c;比如很多Web在线编译器&#xff0c;就是这个原理&#xff1b; 2、代码反…...

Cangjie Magic在医疗领域的应用:智能体技术如何重塑医疗数字化

文章目录 1. Cangjie Magic是什么&#xff1f;有什么优势&#xff1f;2. Cangjie Magic与Python的区别与优势对比技术特性对比医疗场景案例对比案例1&#xff1a;电子病历自然语言处理案例2&#xff1a;ICU实时监护系统 3. Cangjie Magic的学习成本与性价比学习门槛性价比优势 …...

MySQL基础关键_002_DQL(一)

目 录 一、初始化 二、简单查询 1.部分语法规则 2.查询一个字段 &#xff08;1&#xff09;查询员工编号 &#xff08;2&#xff09;查询员工姓名 3.查询多个字段 &#xff08;1&#xff09;查询员工编号、姓名 &#xff08;2&#xff09;查询部门编号、名称、位置 …...

从高端制造到民生场景:天元轻量化软件的“破局”之路

近期&#xff0c;清华大学航空发动机研究院&#xff08;以下简称“清华航发院”&#xff09;正式引入天元轻量化软件&#xff0c;用于其相关设计与3D可视化研究工作。 作为国内领先的3D轻量化解决方案提供商&#xff0c;天元轻量化软件一直致力于为各行业提供高效、灵活、安全…...

本地部署大模型的方式有哪些

本地部署大模型的方式主要分为 应用部署 和 源码部署 两大类&#xff0c;具体分类及特点如下&#xff1a; 一、应用部署&#xff08;适合新手&#xff09; 特点&#xff1a;无需编程基础&#xff0c;通过厂商提供的工具直接安装使用&#xff0c;支持图形化界面和命令行操作&am…...

libevent详解

目录 一、安装libevent库 二、libevent 三、基于 libevent 实现信号处理与定时任务 四、基于 libevent 的事件驱动 TCP 服务端代码 一、安装libevent库 sudo su apt install libevent-dev 二、libevent libevent 是一个轻量级网络i/o库&#xff0c;i/o框架库&#xff0c;…...

Solon Cloud Gateway 补充

说明 在「使用 Solon Cloud Gateway 替换Spring Cloud Gateway 」的文章中&#xff0c;有评论说不知道响应式。当时看的是 Solon Cloud Gateway 使用响应式接口&#xff0c;由 Solon-Rx 来实现&#xff0c;是基于 reactive-streams 封装的 RxJava 极简版。目前仅一个接口 Com…...

海外社交软件技术深潜:实时互动系统与边缘计算的极限优化

一、毫秒级延迟之战&#xff1a;下一代实时通信架构 1.1 全球实时消息投递体系设计 图表 代码 性能基准测试&#xff08;跨大西洋传输&#xff09;&#xff1a; 协议/算法组合 平均延迟 99分位延迟 丢包恢复率 WebSocketTLSBBRv2 142ms 298ms 78% QUIC自定义CC 112ms 201ms 92%…...

直播美颜SDK是什么?跨平台美颜SDK开发与接入全解析

当下&#xff0c;越来越多的直播平台、短视频App、社交娱乐应用&#xff0c;开始在画面美化方面加大投入。本文将围绕直播美颜SDK是什么、其背后的核心技术、如何实现跨平台开发、以及接入流程等关键问题&#xff0c;为你全面解析这一技术热点。 一、直播美颜SDK到底是什么&am…...

自学S32k144(18)————芯片锁死问题及成功解锁流程

1.锁死原因 温度过高flash异常操作静电等电压异常问题。。。。 本人出现情况&#xff1a;之前开发板不知什么原因&#xff0c;发生短路&#xff0c;重新置换芯片后&#xff0c;发现芯片在S32DS中无法正常烧录 判断可能是由于焊接时温度过高导致锁死。需解锁芯片。 2.解决方法…...

【免费数据】2000-2020年中国4km分辨率逐日气象栅格数据(含9个气象变量)

逐日气象数据是在很多研究中都会用到的数据&#xff0c;例如验证气候模拟、分析陆地生态系统变化以及识别气候变化下的极端天气条件等研究&#xff0c;尤其是高精度的逐日气象数据对于研究者来说更为常用。 本次我们为大家带来的是2000-2020年中国4km分辨率逐日气象栅格数据&a…...

Android Compose 无网络状态处理全指南:从基础到高级实践

Android Compose 无网络状态界面处理全方案 引言 在移动应用开发中&#xff0c;网络连接不稳定是常见场景。优雅地处理无网络状态能显著提升用户体验。Jetpack Compose 提供了强大的工具来实现各种网络状态下的界面展示。本文将全面介绍在 Compose 中处理无网络状态的多种方案…...

网络规划和设计

1.结构化综合布线系统包括建筑物综合布线系统PDS&#xff0c;智能大夏布线系统IBS和工业布线系统IDS 2.GB 50311-2016综合布线系统工程设计规范 GB/T 50312-2016综合布线系统工程验收规范 3.结构化布线系统分为6个子系统&#xff1a; 工作区子系统&#xff1b;水平布线子系…...

Learning vtkjs之ImageMarchingSquares

体积 等值线处理 介绍 vtkImageMarchingSquares - 对图像&#xff08;或来自体积的切片&#xff09;进行等值线处理 给定一个指定的等值&#xff0c;使用Marching Squares算法&#xff08;3D Marching Cubes算法的2D版本&#xff09;生成等值线。 效果 自己增加了两个小球&…...

前端跨域问题详解:原因、解决方案与最佳实践

引言 在现代Web开发中&#xff0c;跨域问题是前端工程师几乎每天都会遇到的挑战。随着前后端分离架构的普及和微服务的发展&#xff0c;跨域请求变得愈发常见。本文将深入探讨跨域问题的本质、各种解决方案以及在实际开发中的最佳实践。 一、什么是跨域问题&#xff1f; 1.1…...

第五届图像、视觉与智能系统国际会议(ICIVIS 2025)参会通知

大会官网: http://www.icivis.net/ 官方邮箱&#xff1a;icivis163.com 会议地点&#xff1a;杭州师范大学仓前校区&#xff08;余杭塘路2318号&#xff09; 会议时间&#xff1a;2025年5月23日-5月25日 主办单位&#xff1a;杭州师范大学 1.一般会员注册 提交注册表以后…...

PCB设计工艺规范(二)基本布局要求

基本布局要求 1.PCBA加工工序2.对器件以及PCB布局要求 资料来自网络&#xff0c;仅供学习使用。 1.PCBA加工工序 制成板的元件布局应保证制成板的加工工序合理&#xff0c;以便于提高制成板加工效率和直通率。 PCB 布局选用的加工流程应使加工效率最高。 常用 PCBA 的6种主流…...

SWIG 和 JNA / JNI 等 C 接口封装工具及进行 C 接口的封装

SWIG 相关 SWIG 是什么 SWIG 是一个软件开发工具,是一个 封装 C/C++ 动态库供其他编程语言调用的神器。 使用它可以简化不同语言与与 C/C++ 语言的交互。简单点说,SWIG 是一个编译器,它以 C/C++的声明为输入,创建从其他语言包括常见的脚本语言如 Javascript、Perl、PHP、…...

【Bootstrap V4系列】学习入门教程之 布局

Bootstrap V4 学习入门教程之 布局 一、容器1.1 All-in-one 一体化1.2 Fluid 流体1.3 Responsive 快速响应 二、栅格系统2.1 网格选项2.2 自动布局列等宽等宽多线 2.3、设置一列宽度2.4、可变宽度内容 一、容器 容器是Bootstrap中最基本的布局元素&#xff0c;在使用我们的默认…...

Nginx功能全解析:你的高性能Web服务器解决方案

Nginx是一款开源的高性能HTTP和反向代理服务器&#xff0c;同时也是IMAP/POP3/SMTP代理服务器。自2004年推出以来&#xff0c;Nginx因其卓越的性能、稳定性和丰富的功能而广泛应用于各种规模的网站。本文将深入解析Nginx的主要功能&#xff0c;帮助你充分利用这款强大的Web服务…...

OpenAI 2025 4月最新动态综述

2025年4月&#xff0c;OpenAI在人工智能领域持续引领创新浪潮&#xff0c;发布了多项重磅新产品和技术&#xff0c;推动AI进入更加实用和智能的新阶段。以下是近期OpenAI的重点动态整理&#xff1a; 1. GPT-5预览版发布&#xff0c;迈入通用AI工业化时代 2025年4月15日&#…...

综合案例建模(1)

文章目录 滚花手扭螺丝机箱封盖螺丝螺丝孔锥形垫片 滚花手扭螺丝 前视基准面画草图&#xff0c;旋转生成主体 倒角0.5 顶面&#xff0c;草图转换实体引用&#xff0c;去复制边线 生成螺旋线路径 顶面绘制草图 上一步画的草图沿螺旋线扫描切除 镜像扫描特征 阵列镜像扫描特征 创…...

ComfyUI 学习笔记,案例3:img2img

背景 ComfyUI 学习笔记&#xff0c;第三个案例 img2img&#xff0c;官网文档的 安装篇 部分找到桌面版&#xff0c;于是就下载了桌面版本&#xff0c;运行第三个案例。 注意要点&#xff1a; 桌面版安装时检测到本机设备不符合时&#xff0c;需要手动选择安装配置&#xff0…...

水利水电安全员A证考试核心知识点

水利水电安全员A证考试核心知识点 水利水电安全员A证考试主要考查安全生产管理、法律法规、专业技术及应急处理能力&#xff0c;以下是核心知识点&#xff1a; 1. 安全生产法律法规 《安全生产法》&#xff1a;明确企业主体责任、从业人员权利与义务、事故追责等。 《水利工…...

Verilog仿真模块--真随机数生成器

前言 在进行功能仿真时&#xff0c;总是希望仿真条件能覆盖尽量多的情况&#xff0c;因此&#xff0c;经常需要产生随机数作为仿真的输入。Verilog 和 SV 中有能够产生随机数的系统函数 $random&#xff0c;可惜的是此函数产生的随机数是伪随机数&#xff0c;重新再跑一次仿真&…...

融合AI助力医疗提效,华奥系医务系统助力医院数字化升级!

医疗资源供需优化一直是医院关注的重点问题。据此&#xff0c;华奥系科技推出华奥系智能医务管理系统&#xff0c;并基于DeepSeek-R1大模型&#xff0c;自主研发将AI智能诊疗助手融入系统。以“智能驱动效率、数据赋能管理”为核心&#xff0c;打造覆盖医院全场景的数字化解决方…...

UDP报文结构

文章目录 简介UDP报文结构解析UDP的特点使用 UDP 的注意事项 简介 用户数据报协议&#xff08;User Datagram Protocol&#xff0c;UDP&#xff09;是传输层的一种无连接协议&#xff0c;它与TCP相比&#xff0c;没有复杂的连接建立、维护和拆解过程&#xff0c;在传输效率上具…...

综合开发-手机APP远程控制PLC1500柱灯的亮灭

要通过 ​​Unity3D​​ 开发的手机 App 控制 ​​电气柜上面的柱灯&#xff0c;需要WIFI模块作为桥梁&#xff0c;按照以下步骤实现&#xff1a; ​​1. 硬件准备&#xff08;硬件部分&#xff09;​​ ​​所需材料​​ ​​ESP32开发板​​&#xff08;如ESP32-WROOM-32&a…...

4:机器人目标识别无序抓取程序二次开发

判断文件是否存在 //判断文件在不在 int HandEyeCalib::AnsysFileExists(QString FileAddr) {QFile File1(FileAddr);if(!File1.exists()){QMessageBox::warning(this,QString::fromLocal8Bit("提示"),FileAddrQString::fromLocal8Bit("文件不存在"));retu…...

数据结构篇:线性表的另一表达—链表之单链表(下篇)

目录 1.前言 2.是否使用二级指针 3.插入/删除 3.1 pos位置前/后插入 3.2 查找函数 3.3 pos位置删除 3.4 pos位置后面删除 3.5 函数的销毁 4.断言问题 4.1 断言pphead 4.2 断言*pphead 5.三个文件的代码 5.1 头文件 5.2 具体函数实现 5.3 测试用例 1.前言 之前是讲…...

C# 异步详解

C# 异步编程详解 一、异步编程基础概念 1. 同步 vs 异步 ​​同步(Synchronous)​​&#xff1a;任务按顺序执行&#xff0c;前一个任务完成后才会执行下一个​​异步(Asynchronous)​​&#xff1a;任务可以非阻塞地启动&#xff0c;主线程可以继续执行其他操作 2. 异步编…...

X²+1素数问题

X1素数问题是与哥德巴赫猜想和孪生素数猜想同时代的著名数学难题。是否有无穷个正整数x&#xff0c;使得x1总是素数&#xff1f; 其困难程度不亚于哥德巴赫猜想。特别是100多年以来&#xff0c;许许多多一流数论学者对这个问题进行了研究。 X1素数 X1素数是一个著名的猜想&…...