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

【算法进阶详解 第一节】树状数组

【算法进阶详解 第一节】树状数组

  • 前言
  • 树状数组基础
    • 树状数组原理
    • 树状数组能够解决的问题
  • 树状数组提高
    • 树状数组区间加,区间和操作
    • 二维树状数组
  • 树状数组应用
    • 树状数组区间数颜色
    • 树状数组二维偏序

前言

树状数组在算法竞赛中十分常见,其能解决二维数点,区间数颜色等问题,还具有较小的常数,是一个十分优秀的数据结构。如果文章有问题欢迎在评论区指出。

树状数组基础

树状数组原理

我们用前缀和问题引入树状数组。
给定一个长为 n n n 数组,之后有 q q q 次操作,操作分修改和查询两种,修改数组中一个位置,查询前缀和。
如果维护整个数组,每一次修改是 O ( 1 ) O(1) O(1) 的,但是查询要便利整个前缀,复杂度 O ( n ) O(n) O(n) 1 s 1s 1s 难以通过;如果维护前缀和,每一次查询是 O ( 1 ) O(1) O(1) 的,但是修改会影响到包含它的前缀的值,复杂度 O ( n ) O(n) O(n) 1 s 1s 1s 内仍旧难以通过;而树状数组可以在 O ( log ⁡ ( n ) ) O(\log(n)) O(log(n)) 的时间内解决修改和查询两种做法,复杂度十分优秀,相当于平均了修改和查询的复杂度。

维护数组维护前缀和维护树状数组
修改 O ( 1 ) O(1) O(1) O ( n ) O(n) O(n) O ( log ⁡ ( n ) ) O(\log(n)) O(log(n))
查询 O ( n ) O(n) O(n) O ( 1 ) O(1) O(1) O ( log ⁡ ( n ) ) O(\log(n)) O(log(n))

树状数组中每一个元素 c i c_i ci 存储的是 i − l o w b i t ( i ) + 1 i - lowbit(i) + 1 ilowbit(i)+1 ~ i i i 的权值和,其中 l o w b i t ( x ) lowbit(x) lowbit(x) 表示 x x x 从低位开始的第一个 1 1 1 的权值(即 2 最低位算 0 位时的位数 2^{最低位算 0 位时的位数} 2最低位算0位时的位数),形象表示如下图(来自网上一张图片):

在这里插入图片描述

其中树状数组中每个元素的值就是其所属区间覆盖的原数组的元素和。

对于修改第 i i i 位操作,修改任意一个位置上的值,变化的是包含其的所有区间,通过找规律可以发现就是 i i i 从查询位置编号开始,每次加上 l o w b i t ( i ) lowbit(i) lowbit(i)
对于查询前 i i i 位操作,查询那些区间能覆盖查询操作,通过找规律可以发现就是 i i i 从查询位置编号开始,每次减去 l o w b i t ( i ) lowbit(i) lowbit(i)

树状数组的核心代码如下:

int lowbit(int x)
{return x & -x;
}void add(int x, int c)
{for (int i = x; i <= n; i += lowbit(i)) tr[i] += c; // n 为数组长度,tr为树状数组。
}int sum(int x)
{int res = 0;for (int i = x; i; i -= lowbit(i)) res += tr[i];return res;
}

树状数组能够解决的问题

树状数组可以解决区间和问题,查询两个前缀和相减即可;树状数组还可以进行单点与原来取 m i n min min,查询前缀最小值,但是由于两个前缀最小值不能得到区间最小值,所以树状数组这样做不能得到区间最小值。

树状数组提高

树状数组区间加,区间和操作

题目链接

要求实现两种操作:

  1. 将一个区间中所有数加上一个数。
  2. 查询一个区间中所有数的和。

这个题直接把区间修改暴力拆成单点修改显然会超时。我们可以将原序列 a a a 变成差分序列 b b b,这样区间 [ l , r ] [l, r] [l,r] 加上 x x x 就变成了将差分序列的第 l l l 项加上 x x x,将第 r + 1 r + 1 r+1 项减去 x x x,单点查询就变成了前缀查询。若此时把区间查询暴力拆成单点查询,仍旧难以通过。
我们把前缀和式子进行变换:
∑ i = 1 x a i \sum_{i = 1}^{x} a_i i=1xai
= ∑ i = 1 x ∑ j = 1 i b j =\sum_{i = 1}^{x} \sum_{j = 1}^{i} b_j =i=1xj=1ibj
= ∑ i = 1 x ( x − i + 1 ) b i =\sum_{i = 1}^{x} (x - i + 1)b_i =i=1x(xi+1)bi
= ( x + 1 ) ∑ i = 1 x b i − ∑ i = 1 x i b i =(x + 1)\sum_{i = 1}^{x} b_i - \sum_{i = 1}^{x} ib_i =(x+1)i=1xbii=1xibi
于是我们维护两个树状数组,分别储存 b i b_i bi i b i ib_i ibi 的前缀和,即可查询原序列的前缀和。两个前缀和相减就是题目中要求查询的区间和了。

二维树状数组

二维树状数组就是把一维树状数组扩展到二维中,能够进行单点修改和二维前缀和查询,具体做法就是把每个一维树状数组的元素再存一个新的一维树状数组。修改时枚举需要修改的树状数组,每个树状数组单独修改;查询时枚举需要查询的树状数组,每个树状数组单独查询即可。设查询和修改的二维平面大小为 n × m n \times m n×m,则二维树状数组时间复杂度为 O ( l o g ( n ) l o g ( m ) ) O(log(n)log(m) ) O(log(n)log(m))

二维树状数组的核心代码如下:

int lowbit(int x)
{return x & -x;
}void add(int x, int y, int c)
{for (int i = x; i <= n; i += lowbit(i))for (int j = y; j <= m; j += lowbit(j))tr[i][j] += c;
}int sum(int x, int y)
{int res = 0;for (int i = x; i; i -= lowbit(i))for (int j = y; j; j -= lowbit(j))res += tr[i][j];return res;
}

树状数组应用

树状数组区间数颜色

原题链接

给定一个长度为 n n n 的数组,每次查询一个区间 [ l , r ] [l, r] [l,r] 中不同值的个数。

直接在线做比较困难,考虑离线,按右端点排序,从前往后按右端点扫描线。在树状数组中,我们在最后一次出现的颜色对应的下标存 1 1 1,否则存 0 0 0,扫描线时加入一个颜色时,如果之前没有出现过这个颜色就直接把当前位置加 1 1 1,否则把前面最后一次出现当前颜色的下标减 1 1 1,再把当前下标加上 1 1 1,查询时直接查询区间和即可。

树状数组二维偏序

树状数组可以解决二维偏序问题。

所谓的二维偏序,就是给定两个 1 1 1 ~ n n n 的数组 a a a b b b,对于每个 1 ≤ i ≤ n 1 \le i \le n 1in,计算满足如下条件的 j ( 1 ≤ j ≤ n ) j(1 \le j \le n) j(1jn)

  1. a i ≤ a j a_i \le a_j aiaj
  2. b i ≤ b j b_i \le b_j bibj

具体解决方法,可以先把所有下标以 a i a_i ai 为第一关建字, b i b_i bi 为第二关键字排序,然后从前往后扫描每个下标,当扫描到 a i a_i ai 时可能的 j j j 只能出现在 i i i 之前(满足第一个限制),且 i i i 后面不会在有 j j j(后面只有两种情况, a i > a j a_i > a_j ai>aj a i = a j a_i = a_j ai=aj,第一种肯定不满足,第二种因为第二关键字是 b i b_i bi,所以后面只可能 b i ≥ b j b_i \ge b_j bibj b i > b j b_i > b_j bi>bj 肯定不行, b i = b j b_i = b_j bi=bj 特判即可)。

然后由于 i i i 之前 a i a_i ai 的限制一定满足,所以只需处理 i i i 之前的下标 b i b_i bi 的限制即可。我们发现就是求 ∑ k = 1 b i − 1 i 之前 = k 的数的个数 \sum_{k = 1}^{b_i - 1} i 之前 = k 的数的个数 k=1bi1i之前=k的数的个数。我们把这个式子理解成前缀和,维护一个数组,每扫过一个数就把 b i b_i bi 为下标的位置 + 1 + 1 +1,查询前缀和,可以用树状数组处理。时间复杂度 O ( n log ⁡ ( n ) + n log ⁡ ( max ⁡ b i ) ) O(n\log(n) + n\log(\max b_i)) O(nlog(n)+nlog(maxbi)),如果 max ⁡ b i \max b_i maxbi 太大,可以先把 b i b_i bi 离散化再求解,复杂度 O ( n log ⁡ ( n ) ) O(n\log(n)) O(nlog(n))

相关文章:

【算法进阶详解 第一节】树状数组

【算法进阶详解 第一节】树状数组 前言树状数组基础树状数组原理树状数组能够解决的问题 树状数组提高树状数组区间加&#xff0c;区间和操作二维树状数组 树状数组应用树状数组区间数颜色树状数组二维偏序 前言 树状数组在算法竞赛中十分常见&#xff0c;其能解决二维数点&am…...

青少年编程与数学 02-009 Django 5 Web 编程 16课题、权限管理

青少年编程与数学 02-009 Django 5 Web 编程 16课题、权限管理 一、授权授权的主要特点和作用授权的类型应用场景 二、权限系统使用Django内置的权限系统使用组管理权限使用第三方库在视图中应用权限 三、权限管理示例步骤 1: 创建Django项目和应用步骤 2: 定义模型和权限步骤 …...

第四十四篇--Tesla P40+Janus-Pro-7B部署与测试

环境 系统&#xff1a;CentOS-7 CPU: 14C28T 显卡&#xff1a;Tesla P40 24G 驱动: 515 CUDA: 11.7 cuDNN: 8.9.2.26创建环境 conda create --name trans python3.10torch 2.6.0 transformers 4.48.3克隆项目 git clone https:/…...

低成本、高效率且成熟的电商实时数据采集方案:梦想成真?

在电子商务领域&#xff0c;数据是驱动业务决策的核心资源。实时数据采集对于电商企业而言&#xff0c;意味着能够即时洞察市场动态、消费者行为以及运营效果&#xff0c;从而快速调整策略&#xff0c;提升竞争力。然而&#xff0c;如何在保证数据质量的同时&#xff0c;实现低…...

微信小程序之mobx-miniprogram状态管理

目前已经学习了6种小程序页面、组件间的数据通信方案,分别是: 1. 数据绑定: properties 2.获取组件实例: this.selectComponent() 3.事件绑定: this.triggerEvent() 4. 获取应用实例&#xff1a;getApp() 5. 页面间通信: EventChannel 6.事件总线:pubsub-js 在中小型项目…...

uniapp可视化-活动报名表单系统-代码生成器

活动报名表单系统小程序旨在为各类活动组织者提供一个便捷、高效的线上报名管理平台&#xff0c;同时为参与者提供简单易用的报名途径。 主要功能 活动发布&#xff1a;活动组织者可以发布活动的详细信息&#xff0c;包括活动名称、时间、地点、活动内容等。用户可以在小程序中…...

1.从零开始学会Vue--{{基础指令}}

全新专栏带你快速掌握Vue2Vue3 1.插值表达式{{}} 插值表达式是一种Vue的模板语法 我们可以用插值表达式渲染出Vue提供的数据 1.作用&#xff1a;利用表达式进行插值&#xff0c;渲染到页面中 表达式&#xff1a;是可以被求值的代码&#xff0c;JS引擎会将其计算出一个结果 …...

深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器

作为一位个人开发者兼产品经理&#xff0c;我的工作日常紧密围绕着云资源的运维和管理。在这个过程中&#xff0c;操作系统扮演了至关重要的角色&#xff0c;而操作系统控制台则成为了我们进行系统管理的得力助手。本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功…...

CSS Grid 网格布局,以及 Flexbox 弹性盒布局模型,它们的适用场景是什么?

CSS Grid网格布局和Flexbox弹性盒布局模型都是现代CSS布局的重要工具&#xff0c;它们各自具有独特的优势和适用场景。 作为前端开发工程师&#xff0c;理解这些布局模型的差异和适用场景对于编写高效、可维护的代码至关重要。 CSS Grid网格布局 适用场景&#xff1a; 复杂…...

2025.2.16机器学习笔记:TimeGan文献阅读

2025.2.9周报 一、文献阅读题目信息摘要Abstract创新点网络架构一、嵌入函数二、恢复函数三、序列生成器四、序列判别器损失函数 实验结论后续展望 一、文献阅读 题目信息 题目&#xff1a; Time-series Generative Adversarial Networks会议&#xff1a; Neural Information…...

高通推出骁龙游戏超级分辨率™:充分释放移动游戏性能,带来更持久的续航

Snapdragon Elite Gaming 一直致力于为每位用户打造卓越游戏体验。骁龙支持众多端游级特性&#xff0c;包括144FPS游戏体验、True 10-bit HDR支持的最高视觉质量的超流畅图形&#xff0c;让玩家可以畅享超10亿色的游戏体验。骁龙将许多移动端首创特性引入备受玩家喜爱的游戏中&…...

golangAPI调用deepseek

目录 1.deepseek官方API调用文档1.访问格式2.curl组装 2.go代码1. config 配置2.模型相关3.错误处理4.deepseekAPI接口实现5. 调用使用 3.响应实例 1.deepseek官方API调用文档 1.访问格式 现在我们来解析这个curl 2.curl组装 // 这是请求头要加的参数-H "Content-Type:…...

SOC芯片前端设计对芯片电源完整性的影响

在进行芯片的电源完整性时&#xff0c;因为PI受影响的因素较多&#xff0c;出现问题debug也比较难&#xff0c;所以在进行芯片设计时&#xff0c;需要端到端从前到后进行考虑设计&#xff0c;本篇文章将从芯片前端设计的角度来看看哪些因素会影响到PI的设计。 芯片前端设计的主…...

【区块链】零知识证明基础概念详解

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 零知识证明基础概念详解引言1. 零知识证明的定义与特性1.1 基本定义1.2 三个核心…...

面基Spring Boot项目中实用注解一

在Spring Boot项目中&#xff0c;实用注解根据功能可以分为多个类别。以下是常见的注解分类、示例说明及对比分析&#xff1a; 1. 核心配置注解 SpringBootApplication 作用&#xff1a;标记主启动类&#xff0c;组合了Configuration、EnableAutoConfiguration和ComponentScan…...

最新智能优化算法: 中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法求解23个经典函数测试集,MATLAB代码

中华穿山甲优化&#xff08; Chinese Pangolin Optimizer &#xff0c;CPO&#xff09;算法由GUO Zhiqing 等人提出&#xff0c;该算法的灵感来自中华穿山甲独特的狩猎行为&#xff0c;包括引诱和捕食行为。 算法流程如下&#xff1a; 1. 开始 设置算法参数和最大迭代次数&a…...

shell脚本备份MySQL数据库和库下表

目录 注意&#xff1a; 一.脚本内容 二.执行效果 三.创建定时任务 注意&#xff1a; 以下为对MySQL5.7.42版本数据库备份shell脚本参考运行备份的机器请确认mysqldump版本>5.7&#xff0c;否则备份参数--set-gtid-purgedOFF无效&#xff0c;考虑到一般数据库节点和备份…...

Unity Shader Graph 2D - Procedural程序化图形之渐变的正弦波形

前言 正弦波形也是一种常用、常见的程序化图形&#xff0c;合理的使用正弦波形会创作出一些有趣、美观和丰富的效果&#xff0c;本文将使用Unity Shader Graph来实现一个正弦波形效果&#xff0c;帮助理解和实践Unity Shader Graph以及正弦函数。 创建一个名为SineWave的Shader…...

【算法与数据结构】并查集详解+题目

目录 一&#xff0c;什么是并查集 二&#xff0c;并查集的结构 三&#xff0c;并查集的代码实现 1&#xff0c;并查集的大致结构和初始化 2&#xff0c;find操作 3&#xff0c;Union操作 4&#xff0c;优化 小结&#xff1a; 四&#xff0c;并查集的应用场景 省份…...

国家队出手!DeepSeek上线国家超算互联网平台!

目前,国家超算互联网平台已推出 DeepSeek – R1 模型的 1.5B、7B、8B、14B 版本,后续还会在近期更新 32B、70B 等版本。 DeepSeek太火爆了!在这个春节档,直接成了全民热议的话题。 DeepSeek也毫无悬念地干到了全球增速最快的AI应用。这几天,国内的云计算厂家都在支持Dee…...

H5接入支付宝手机网站支付并实现

小程序文档 - 支付宝文档中心 1.登录 支付宝开放平台 创建 网页/移动应用 2.填写创建应用信息 3.配置开发设置 4.网页/移动应用&#xff1a;需要手动上线。提交审核后&#xff0c;预计 1 个工作日的审核时间。详细步骤可点击查看 上线应用 。应用上线后&#xff0c;还需要完成…...

Win10环境借助DockerDesktop部署大数据时序数据库Apache Druid

Win10环境借助DockerDesktop部署最新版大数据时序数据库Apache Druid32.0.0 前言 大数据分析中&#xff0c;有一种常见的场景&#xff0c;那就是时序数据&#xff0c;简言之&#xff0c;数据一旦产生绝对不会修改&#xff0c;随着时间流逝&#xff0c;每个时间点都会有个新的…...

(三)Axure制作转动的唱片

效果图 属性&#xff1a; 图标库&#xff1a;iconfont-阿里巴巴矢量图标库 方形图片转为圆角图片&#xff0c;裁剪&#xff0c;然后加圆角&#xff0c; 唱片和底图是两个图片&#xff0c;点击播放&#xff0c;唱片在旋转。 主要是播放按钮和停止按钮&#xff0c;两个动态面板…...

[JVM篇]分代垃圾回收

分代垃圾回收 分代收集法是目前大部分 JVM 所采用的方法&#xff0c;其核心思想是根据对象存活的不同生命周期将内存划分为不同的域&#xff0c;一般情况下将 GC 堆划分为老生代(Tenured/Old Generation)和新生代(Young Generation)。老生代的特点是每次垃圾回收时只有少量对象…...

SpringBoot多数据源实践:基于场景的构建、实现和事务一体化研究

1. 多数据源应用场景剖析 1.1 业务驱动的多数据源需求 数据量与业务复杂度引发的分库分表&#xff1a;在现代企业级应用中&#xff0c;随着业务的不断拓展和用户量的持续增长&#xff0c;数据量呈爆炸式增长。例如&#xff0c;在大型电商平台中&#xff0c;用户数据、订单数据…...

鸿蒙应用开发者基础

目录 判断题 单选题 多选题 判断题 1、 在http模块中&#xff0c;多个请求可以使用同一个httpRequest对象&#xff0c;httpRequest对象可以复用。&#xff08;错误&#xff09; 2、订阅dataReceiverProgress响应事件是用来接收HTTP流式响应数据。&#xff08;错误&#xff0…...

Java面试第二山!《计算机网络》!

在 Java 面试里&#xff0c;计算机网络知识是高频考点&#xff0c;今天就来盘点那些最容易被问到的计算机网络面试题&#xff0c;帮你轻松应对面试&#xff0c;也方便和朋友们一起探讨学习。 一、HTTP 和 HTTPS 的区别 1. 面试题呈现 HTTP 和 HTTPS 有什么区别&#xff1f;在…...

2025最新Java面试题大全(整理版)2000+ 面试题附答案详解

很多 Java 工程师的技术不错&#xff0c;但是一面试就头疼&#xff0c;10 次面试 9 次都是被刷&#xff0c;过的那次还是去了家不知名的小公司。 问题就在于&#xff1a;面试有技巧&#xff0c;而你不会把自己的能力表达给面试官。 应届生&#xff1a;你该如何准备简历&#…...

低空经济:开启未来空中生活的全新蓝海

引言 随着科技的进步&#xff0c;我们不再仅仅依赖地面交通和传统物流。你是否曾幻想过&#xff0c;未来的某一天&#xff0c;快递、外卖可以像魔法一样直接从空中送到你手中&#xff1f;或者&#xff0c;你能乘坐小型飞行器&#xff0c;快速穿梭于城市之间&#xff0c;告别拥堵…...

【机器学习】线性回归与一元线性回归

【机器学习系列】 KNN算法 KNN算法原理简介及要点 特征归一化的重要性及方式线性回归算法 线性回归与一元线性回归 线性回归模型的损失函数 多元线性回归 多项式线性回归 线性回归与一元线性回归 V1.1线性回归问题线性方程的最优解一元线性回归一元线性回归的方程一元线性回归…...

MongoDB 7 分片副本集升级方案详解(上)

#作者&#xff1a;任少近 文章目录 前言&#xff1a;Mongodb版本升级升级步骤环境1.1环境准备1.2standalone升级1.3分片、副本集升级 前言&#xff1a;Mongodb版本升级 在开始升级之前&#xff0c;请参阅 MongoDB下个版本中的兼容性变更文档&#xff0c;以确保您的应用程序和…...

Fiori APP配置中的Semantic object 小bug

在配置自开发程序的Fiori Tile时&#xff0c;需要填入Semantic Object。正常来说&#xff0c;是需要通过事务代码/N/UI2/SEMOBJ来提前新建的。 但是在S4 2022中&#xff0c;似乎存在一个bug&#xff0c;即无需新建也能输入自定义的Semantic Object。 如下&#xff0c;当我们任…...

坑多多之AC8257 i2c1 rtc-pcf8563

pcf85163 ordering information Ordering information Package Description Version Marking code PCF85163T/1 SO8 ① SOT96-1 PF85163 PCF85163TS/1 TSSOP8 ② SOT505-1 85163 ①plastic small outline package; 8 leads;body width 3.9 mm ②plastic thin…...

制作一个项目用于研究elementUI的源码

需求&#xff1a;修改el-tooltip的颜色&#xff0c;发现传递参数等方法都不太好用&#xff0c;也可以使用打断点的方式&#xff0c;但也有点麻烦&#xff0c;因此打算直接修改源码&#xff0c;把组件逻辑给修改了 第一步下载源码 源码地址 GitHub - ElemeFE/element: A Vue.j…...

Docker高级篇

1.Mysql主从复制Docker版本 mysql主从复制原理 binlog 1.新建主服务器容器实例 docker run -d -p 3307:3306 --privilegedtrue \ -v /opt/mysql8.4.3/log:/var/log/mysql \ -v /opt/mysql8.4.3/conf:/etc/mysql/conf.d \ -v /opt/mysql8.4.3/data:/var/lib/mysql \ -e MYSQL…...

OSI 参考模型和 TCP/IP 参考模型

数据通信是很复杂的&#xff0c;很难在一个协议中完成所有功能。因此在制定协议时经常采用的思路是将复杂的数据通信功能由若干协议分别完成&#xff0c;然后将这些协议按照一定的方式组织起来。最典型的是采用分层的方式来组织协议&#xff0c;每一层都有一套清晰明确的功能和…...

rocketmq-netty通信设计-request和response

1、NettyRemotingServer启动分析 org.apache.rocketmq.remoting.netty.NettyRemotingServer#start public void start() {this.defaultEventExecutorGroup new DefaultEventExecutorGroup(nettyServerConfig.getServerWorkerThreads(),new ThreadFactory() {private AtomicI…...

初识计算机网络

从此篇我将开始网络新篇章&#xff01; 1. 网络发展史 最初的计算机之间相互独立存在&#xff0c;每个计算机只能持有自己的数据&#xff0c;数据无法共享。此时的计算机为独立模式 随着时代的发展&#xff0c;越来越需要计算机之间互相通信&#xff0c;共享软件和数据&#x…...

kamailio常见问题解答

常见问题解答 本页面接受贡献&#xff0c;你必须通过注册表单创建一个用户账户&#xff1a; https://www.kamailio.org/wiki/start?doregister 如果你有一个适合收录进常见问题解答的问题&#xff0c;并且你不知道答案&#xff0c;那就添加这个问题&#xff0c;并将答案设置…...

Flask框架入门完全指南

一、初识Flask&#xff1a;轻量级框架的魅力 1.1 Flask框架定位 Flask作为Python最受欢迎的轻量级Web框架&#xff0c;以"微核心可扩展"的设计哲学著称。其核心代码仅约2000行&#xff0c;却支持通过扩展实现完整Web开发功能。这种设计使得开发者可以&#xff1a; …...

用deepseek学大模型05逻辑回归

deepseek.com:逻辑回归的目标函数&#xff0c;损失函数&#xff0c;梯度下降 标量和矩阵形式的数学推导&#xff0c;pytorch真实能跑的代码案例以及模型,数据&#xff0c;预测结果的可视化展示&#xff0c; 模型应用场景和优缺点&#xff0c;及如何改进解决及改进方法数据推导。…...

为什么要选择3D机器视觉检测

选择3D机器视觉检测的原因主要包括以下几点&#xff1a; 高精度测量 复杂几何形状&#xff1a;能够精确测量复杂的三维几何形状。 微小细节&#xff1a;可捕捉微小细节&#xff0c;适用于高精度要求的行业。全面数据获取 深度信息&#xff1a;提供深度信息&#xff0c;弥补2D视…...

CentOS上安装WordPress

在CentOS上安装WordPress是一个相对直接的过程&#xff0c;可以通过多种方法完成&#xff0c;包括使用LAMP&#xff08;Linux, Apache, MySQL, PHP&#xff09;栈或使用更现代的LEMP&#xff08;Linux, Nginx, MySQL, PHP&#xff09;栈。 我选择的是&#xff08;Linux, Nginx…...

webshell通信流量分析

环境安装 Apatche2 php sudo apt install apache2 -y sudo apt install php libapache2-mod-php php-mysql -y echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php sudo ufw allow Apache Full 如果成功访问info.php&#xff0c;则环境安…...

高效高并发调度架构

以下是从架构层面为你提供的适合多核CPU、多GPU环境下API客户端、服务端高级调度&#xff0c;以实现高效并发大规模与用户交互的技术栈&#xff1a; 通信协议 gRPC&#xff1a;基于HTTP/2协议&#xff0c;具有高性能、低延迟的特点&#xff0c;支持二进制序列化&#xff08;通…...

MYSQL下载安装及使用

MYSQL官网下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 也可以直接在服务器执行指令下载&#xff0c;但是下载速度比较慢。还是自己下载好拷贝过来比较快。 wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 1…...

Python elasticsearch客户端连接常见问题整理

python 访问 elasticsearch 在python语言中&#xff0c;我们一般使用 pip install elasticsearch 软件包&#xff0c;来访问es服务器。 正确用法 本地安装elasticsearch时&#xff0c;应指定与服务端相同的大版本号&#xff1a; pip install elasticsearch7.17.0然后就可以…...

相得益彰,Mendix AI connector 秒连DeepSeek ,实现研发制造域场景

在当今快速发展的科技领域&#xff0c;低代码一体化平台已成为企业数字化转型的关键工具&#xff0c;同时&#xff0c;大型语言模型&#xff08;LLM&#xff09;如 DeepSeek 在自动生成代码和提供智能建议方面表现出色。 Mendix 于近期发布的 GenAI 万能连接器&#xff0c;目前…...

Python PyCharm DeepSeek接入

Python PyCharm DeepSeek接入 创建API key 首先进入DeepSeek官网&#xff0c;https://www.deepseek.com/ 点击左侧“API Keys”&#xff0c;创建API key&#xff0c;输出名称为“AI” 点击“创建"&#xff0c;将API key保存&#xff0c;复制在其它地方。 在PyCharm中下…...

pytest测试专题 - 2.1 一种推荐的测试目录结构

<< 返回目录 1 pytest测试专题 - 2.1 一种推荐的测试目录结构 2 pytest 项目目录结构及文件功能 以下是典型 pytest 项目中常见的文件和目录结构及其功能的概述&#xff1a; 2.1 文件/目录结构 文件/目录功能描述test_ 文件* 主测试文件&#xff0c;命名通常以 test_…...