NO.82十六届蓝桥杯备战|动态规划-从记忆化搜索到动态规划|下楼梯|数字三角形(C++)
- 记忆化搜索
在搜索的过程中,如果搜索树中有很多重复的结点,此时可以通过⼀个"备忘录",记录第⼀次搜索到的结果。当下⼀次搜索到这个结点时,直接在"备忘录"⾥⾯找结果。其中,搜索树中的⼀个⼀个结点,也称为⼀个⼀个状态。
⽐如经典的斐波那契数列问题
int f[N]; // 备忘录 int fib(int n)
{ // 搜索之前先往备忘录⾥⾯瞅瞅 if(f[n] != -1) return f[n]; if(n == 0 || n == 1) return f[n] = n; // 返回之前,把结果记录在备忘录中 f[n] = fib(n - 1) + fib(n - 2); return f[n];
}
- 递归改递推
在⽤记忆化搜索解决斐波那契问题时,如果关注"备忘录"的填写过程,会发现它是从左往右依次填写的。当i位置前⾯的格⼦填写完毕之后,就可以根据格⼦⾥⾯的值计算出i位置的值。所以,整个递归过程,我们也可以改写成循环的形式,也就是递推
int f[N]; // f[i] 表⽰:第 i 个斐波那契数
int fib(int n)
{ // 初始化前两个格⼦ f[0] = 0; f[1] = 1; // 按照递推公式计算后⾯的值 for(int i = 2; i <= n; i++) { f[i] = f[i - 1] + f[i - 2]; } // 返回结果 return f[n];
}
- 动态规划
动态规划(Dynamic Programming,简称DP)是⼀种⽤于解决多阶段决策问题的算法思想。它通过将复杂问题分解为更⼩的⼦问题,并存储⼦问题的解(通常称为“状态”),从⽽避免重复计算,提⾼效率。因此,动态规划⾥,蕴含着分治与剪枝思想。
上述通过记忆化搜索以及递推解决斐波那契数列的⽅式,其实都是动态规划。
注意:
- 动态规划中的相关概念其实远不⽌如此,还会有:重叠⼦问题、最优⼦结构、⽆后效性、有向⽆环图等等。
- 这些概念没有⼀段时间的沉淀是不可能完全理解的。可以等学过⼀段时间之后,再去接触这些概念。不过,这些概念即使不懂,也不影响做题~
在递推形式的动态规划中,常⽤下⾯的专有名词来表述:
- 状态表⽰:指 f 数组中,每⼀个格⼦代表的含义。其中,这个数组也会称为 dp 数组,或者dp 表。
- 状态转移⽅程:指 f 数组中,每⼀个格⼦是如何⽤其余的格⼦推导出来的
- 初始化:在填表之前,根据题⽬中的默认条件或者问题的默认初始状态,将 f 数组中若⼲格⼦先填上值。
其实递推形式的动态规划中的各种表述,是可以对应到递归形式的:
- 状态表⽰<—>递归函数的意义;
- 状态转移⽅程<—>递归函数的主函数体;
- 初始化<—>递归函数的递归出⼝。
- 如何利⽤动态规划解决问题
第⼀种⽅式当然就是记忆化搜索了:
- 先⽤递归的思想去解决问题;
- 如果有重复⼦问题,就改成记忆化搜索的形式。
第⼆种⽅式,直接使⽤递推形式的动态规划解决:
- 定义状态表⽰:
⼀般情况下根据经验+递归函数的意义,赋予 dp 数组相应的含义。(其实还可以去蒙⼀个,如果蒙的状态表⽰能解决问题,说明蒙对了。如果蒙错了,再换⼀个试~) - 推导状态转移⽅程:
根据状态表⽰以及题意,在 dp 表中分析,当前格⼦如何通过其余格⼦推导出来。 - 初始化:
根据题意,先将显⽽易⻅的以及边界情况下的位置填上值。 - 确定填表顺序:
根据状态转移⽅程,确定按照什么顺序来填表。 - 确定最终结果:
根据题意,在表中找出最终结果
P10250 [GESP样题 六级] 下楼梯 - 洛谷
因为上楼和下楼是⼀个可逆的过程,因此我们可以把下楼问题转化成上到第n个台阶,⼀共有多少种⽅案。
解法:动态规划
- 状态表⽰:
dp[i]
表⽰:⾛到第i 个台阶的总⽅案数。
那最终结果就是在dp[n]
处取到。 - 状态转移⽅程:
根据最后⼀步划分问题,⾛到第i 个台阶的⽅式有三种:
a. 从i - 1 台阶向上⾛1 个台阶,此时⾛到i 台阶的⽅案就是dp[i - 1]
;
b. 从i - 2 台阶向上⾛2 个台阶,此时⾛到i 台阶的⽅案就是dp[i - 2]
;
c. 从i - 3 台阶向上⾛3 个台阶,此时⾛到i 台阶的⽅案就是dp[i - 3]
;
综上所述,dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]
。 - 初始化:
填i位置的值时,⾄少需要前三个位置的值,因此需要初始化dp[0] = 1, dp[1] = 1, dp[2] = 2
,然后从i = 3
开始填。
或者初始化dp[1] = 1, dp[2] = 2, dp[3] = 4
,然后从i = 4 开始填。 - 填表顺序:
明显是从左往右
#include <bits/stdc++.h>
using namespace std;typedef long long LL;const int N = 65;int n;
LL f[N]; //f[i]表示有i个台阶的时候,一共有多少种方案int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> n;//初始化f[0] = 1; f[1] = 1; f[2] = 2;for (int i = 3; i <= n; i++){f[i] = f[i - 1] + f[i - 2] + f[i - 3]; }cout << f[n] << endl;return 0;
}
动态规划的空间优化:
我们发现,在填写dp[i]
的值时,我们仅仅需要前三个格⼦的值,第i-4个及其之前的格⼦的值已经毫⽆⽤处了。因此,可以⽤三个变量记录i位置之前三个格⼦的值,然后在填完i位置的值之
后,滚动向后更新
#include <bits/stdc++.h>
using namespace std;typedef long long LL;const int N = 65;int n;int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> n;LL a = 1, b = 1, c = 2;for (int i = 3; i <= n; i++){LL t = a + b + c;a = b;b = c;c = t;}if (n == 1) cout << b << endl;else cout << c << endl;return 0;
}
P1216 [IOI 1994] 数字三角形 Number Triangles - 洛谷
学习动态规划最经典的⼊⻔题。
解法:动态规划
- 状态表⽰:
dp[i][j]
表⽰:⾛到[i, j]
位置的最⼤权值。
那最终结果就是在dp 表的第n ⾏中,所有元素的最⼤值。 - 状态转移⽅程:
根据最后⼀步划分问题,⾛到[i, j]
位置的⽅式有两种:
a. 从[i - 1, j]
位置向下⾛⼀格,此时⾛到[i, j]
位置的最⼤权值就是dp[i - 1][j]
;
b. 从[i - 1, j - 1]
位置向右下⾛⼀格,此时⾛到[i, j]
位置的最⼤权值就是dp[i - 1][j - 1]
;
综上所述,应该是两种情况的最⼤值再加上[i,j]
位置的权值:
dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - 1]) + a[i][j]
- 初始化:
因为dp 表被0 包围着,并不影响我们的最终结果,因此可以直接填表。
思考,如果权值出现负数的话,需不需要初始化?
◦ 此时可以全都初始化为 − ∞ -\infty −∞ ,负⽆穷⼤在取max 之后,并不影响最终结果。 - 填表顺序:
从左往右填写每⼀⾏,每⼀⾏从左往右
#include <bits/stdc++.h>
using namespace std;const int N = 1010;int n;
int a[N][N];
int f[N][N]; //f[i][j]表示从1,1走到i,j的时候,所有方案数的最大权值int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> n;for (int i = 1; i <= n; i++)for (int j = 1; j <= i; j++)cin >> a[i][j];for (int i = 1; i <= n; i++){for (int j = 1; j <= i; j++){f[i][j] = max(f[i-1][j], f[i-1][j-1]) + a[i][j]; }}int ret = 0;for (int j = 1; j <= n; j++){ret = max(ret, f[n][j]); }cout << ret << endl;return 0;
}
动态规划的空间优化:
我们发现,在填写第i ⾏的值时,我们仅仅需要前⼀⾏的值,并不需要第i - 2 以及之前⾏的值。
因此,我们可以只⽤⼀个⼀维数组来记录上⼀⾏的结果,然后在这个数组上更新当前⾏的值
需要注意,当⽤因为我们当前这个位置的值需要左上⻆位置的值,因此滚动数组优化的时候,要改变第⼆维的遍历顺序
#include <bits/stdc++.h>
using namespace std;const int N = 1010;int n;
int a[N][N];
int f[N]; //f[i][j]表示从1,1走到i,j的时候,所有方案数的最大权值int main()
{ios::sync_with_stdio(false);cin.tie(0);cin >> n;for (int i = 1; i <= n; i++)for (int j = 1; j <= i; j++)cin >> a[i][j];for (int i = 1; i <= n; i++){for (int j = i; j >= 1; j--){f[j] = max(f[j], f[j-1]) + a[i][j]; }}int ret = 0;for (int j = 1; j <= n; j++){ret = max(ret, f[j]); }cout << ret << endl;return 0;
}
相关文章:
NO.82十六届蓝桥杯备战|动态规划-从记忆化搜索到动态规划|下楼梯|数字三角形(C++)
记忆化搜索 在搜索的过程中,如果搜索树中有很多重复的结点,此时可以通过⼀个"备忘录",记录第⼀次搜索到的结果。当下⼀次搜索到这个结点时,直接在"备忘录"⾥⾯找结果。其中,搜索树中的⼀个⼀个结点…...
工业制造各个系统术语
简单总结下 文章目录 MES:制造执行系统ERP:企业资源计划PLM:产品生命周期管理MRP:物资需求计划QMS:质量管理系统APS:高级计划与排程SRM:供应商关系管理SCM:供应链管理CRM:客户关系管理WMS:仓库管理系统TMS:运输管理系统PMS:生产管理系统LES:物流执行系统FICO:财务与成本控制模块…...
搜广推校招面经七十一
滴滴算法工程师面经 一、矩阵分解的原理与优化意义 矩阵分解在推荐系统中是一个非常核心的方法,尤其是在 协同过滤(Collaborative Filtering) 中。我们可以通过用户对物品的评分行为来推测用户的喜好,从而推荐他们可能喜欢的内容。 1.1. 直观理解&…...
解决 ECharts 图表无数据显示问题
问题: 在开发项目时,后端明明已经成功返回了数据,但在展示手账发布数量趋势和树洞帖子发布数量趋势的 ECharts 图表中,却只有坐标轴,没有任何数据显示。 以我的VUE项目开发可视化面板为例,下面将详细分析可…...
【UE5】RTS游戏的框选功能实现
目录 效果 步骤 一、项目准备 二、框选NPC并移动到指定地点 三、框选效果 效果 步骤 一、项目准备 1. 新建一个俯视角游戏工程 2. 新建一个pawn、玩家控制器和游戏模式,这里分别命名为“MyPawn”、“MyController”和“MyGameMode” 3. 打开“MyGameMode”…...
【同步教程】基于Apache SeaTunnel从MySQL同步到MySQL——Demo方舟计划
文章作者:陈飞 中付支付大数据工程师 大家好,很高兴通过 SeaTunnel Demo 方舟计划 和大家分享一个 简单但常见的 MySQL 到 MySQL 数据同步与合并场景案例。 我是陈飞,目前就职于中付支付基础架构部,从事大数据相关工作ÿ…...
人工智能与认知科学的交汇:机器是否能“理解”?
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:AI与认知的“悖论” 当我们谈论人工智能时,往往聚焦于它的“能力”——会下围棋、会写文章、会画画,甚至能写代码。这些能力让AI像极了一个“聪明人”。但一个根本问题始终没有被真正解…...
React Native 0.79发布 - 更快的工具及更多改进
React Native 0.79版本发布了。 此版本在多个方面进行了性能改进,并修复了一些漏洞。首先,得益于延迟哈希技术,Metro的启动速度变快了,并且对包导出提供了稳定支持。由于JS包压缩方式的改变等原因,Android的启动时间也…...
嵌入式---灰度传感器
灰度传感器概览 一、定义与核心功能 1. 定义 灰度传感器是一种基于 光反射原理 的光电传感器,通过检测物体表面对入射光(多为红外光或可见光)的反射强度,将光信号转换为电信号,从而判断目标物体的 灰度值࿰…...
基于ueditor编辑器的功能开发之增加自定义一键排版功能
用户有自己的文章格式,要求复制或者粘贴进来的文章能够一键排版,不需要手动调试 这个需求的话咱们就需要自己去注册一个事件啦,这里我没有修改源码,而是在编辑器初始化之后给他注册了一个事件 我的工具列表变量 vue组件中data中…...
docker部署elk
一、准备镜像 二、创建Elasticsearch容器 2.1启动Elasticsearch容器 docker run -d --name elasticsearch \-e "discovery.typesingle-node" \-e "bootstrap.memory_locktrue" \-e "ES_JAVA_OPTS-Xms2g -Xmx2g" \-e "xpack.security.enab…...
BGP路由协议
为方便管理规模不断扩大的网络,网络被分成了不同的 AS (Autonomous System,自治系统)。早期,EGP (Exterior Gateway Protocol,外部网关协议)被用于实现在 AS 之间动态交换路由信息。但是 EGP 设计得比较简单,只发布网络…...
vue3中watch的使用示例
使用情况说明: 1、父组件中有个表格,点击表格行的修改基础信息,弹出修改对话框; 2、修改内容点击确认,发送请求,后端更新数据;不修改内容不发送请求; 3、可以连续修改;…...
OpenBMC:BmcWeb 处理http请求7 完成http请求
OpenBMC:BmcWeb 处理http请求6 调用路由处理函数-CSDN博客 用户会通过填充asyncResp设置响应内容 OpenBMC:BmcWeb 处理http请求1 生成Request和AsyncResp对象_bmc web-CSDN博客 构造了asyncResp 可以看到asyncResp是一个shared_ptr 并且在构造后设置了setCompleteRequestHand…...
pair与tuple
pair pair是 C STL(标准模板库)中的一个模板类,用于表示一对相关的对象。它是一个简单的容器,存储两个数据项,它们可以是不同类型的。pair 常用于需要将两个元素一起操作的情况,例如在处理字典(…...
RecyclerView 和 ListView从 设计理念、性能优化 和 扩展能力 三个维度展开分析
一、RecyclerView 的核心定义(设计理念) RecyclerView 是 Android Jetpack 中的高级滚动容器,用于展示大数据集,其核心特性包括: 模块化设计:分离布局管理(LayoutManager)、动画&am…...
望远镜自动调焦怎样利用直线轴承结构?
以下是对望远镜调焦结构相关内容的分析: 调焦结构基本构成与原理 驱动部分:采用步进电机驱动滚珠丝杠,步进电机能够精确控制转动角度和步数,从而精确控制滚珠丝杠的转动,为调焦提供动力来源。 传动部分:…...
C++学习之服务器EPOLL模型、处理客户端请求、向客户端回复数、向客户端发送文件
目录 1.启动epoll模型 2.和客户端建立新连接 3.接受客户端Http请求数据 4.代码回顾从接受的数据中读出请求行 5.请求行解析 6.正则表达式以及匹配 7.解析请求行以及后续处理 8.对path处理说明 9.如何回复响应数据 10.对文件对应content-type如何查询 11.服务器处理流…...
Explain的使用
1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len ref rows extra各列。 其中, type=const表示通过索引一次就找到了; key=primary的话,表示使用了主键; type=all,表示为全表…...
DDoS防御与流量优化
实训背景 某在线游戏平台遭受频繁DDoS攻击,需部署Linux网关实现以下防护与优化功能: 防御SYN洪水攻击:自动识别并拦截高频SYN请求。连接数限制:限制单个IP的最大并发连接数为100,防止资源耗尽。流量优先级保障&#…...
文件上传漏洞原理学习
什么是文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。“文件上传” 本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全&#…...
005.Gitlab CICD变量使用
文章目录 变量介绍预定义变量项目信息类版本控制类流水线执行类runner环境类作业执行类容器注册类其他类别 自定义变量 变量使用预定义变量使用创建流水线提交流水作业 自定义变量使用创建流水线提交流水作业 图形UI创建变量UI自定义变量创建流水线提交流水作业 变量介绍 预定…...
即时通讯软件BeeWorks,企业如何实现细粒度的权限控制?
BeeWorks作为一款专为企业设计的即时通讯平台,高度重视用户隐私安全,采取了多种措施来保障数据的保密性、完整性和可用性。 首先,BeeWorks采用私有化部署模式,企业可以将服务器架设在自己的网络环境中,所有通讯数据&a…...
高可用架构:Keepalived、Nginx与Docker深度解析
本文深入解析了Keepalived技术,阐述其基于VRRP协议实现高可用的核心功能,包括虚拟路由器冗余、健康检查、负载均衡集成及脚本执行与通知。同时,设计了Nginx高可用方案,涵盖双机主从、主主及多点集群模式,分析其优缺点。…...
127.0.0.1本地环回地址(Loopback Address)
127.0.0.1 是计算机网络中的一个特殊IPv4地址,称为本地环回地址(Loopback Address),主要用于以下用途: 1. 基本定义 本地主机(Localhost):该地址始终指向当前正在使用的计算机本身&a…...
Windows Terminal 美化增强攻略 2.0:打造个性化高效开发环境(快捷键介绍、编程语言环境、starship美化、高效命令行工具)
前言:从 1.0 到 2.0,终端美化进阶之旅 去年,我曾在文章《使用 oh-my-posh 和 clink 打造个性化 PowerShell 和 CMD》中分享了 Windows 终端的美化方案。那时,我选择了 oh-my-posh 作为核心工具,虽然效果不错ÿ…...
网络出故障时,四大表(MAC表、ARP表、路由表、转发表)怎么查?看看这套排查顺序
网络出故障时,四大表 (MAC表、ARP表、路由表、转发表) 怎么查 说正题之前,我们先来假设一个场景: 场景假设: 一台华为设备突然上不了网,或者访问某个 IP 不通。 你会怎么排查? 别慌,兄弟&a…...
第七天 开始Unity Shader的学习之Unity中的基础光照之高光反射光照模型
Unity Shader的学习笔记 第七天 开始Unity Shader的学习之Unity中的基础光照之高光反射光照模型 文章目录 Unity Shader的学习笔记前言一、高光反射光照模型1.逐顶点光照① Properties② 顶点着色器中计算高光specular③ Fallback效果展示 2.逐像素光照① 片元着色器输出结构体…...
《从 MyBatis-Plus 到 Elasticsearch:一个后端的性能优化踩坑实录》
最近接手了一个老项目,单表查询用 MyBatis-Plus 写得飞起,但一到多表关联模糊搜索就卡成 PPT。痛定思痛,决定引入 Elasticsearch 优化查询性能,结果踩坑无数……记录下这次从 ORM 到搜索引擎的升级历程&#…...
docker 常用指令整理
以下是Docker常用操作指令的整理,分为镜像管理、容器操作、网络配置、数据卷管理、Docker Compose及系统维护等部分: 一、镜像管理 拉取镜像 docker pull [镜像名]:[标签] # 默认标签为latest # 示例:拉取Ubuntu 20.04镜像 docker pull ubun…...
密码格式校验c#和js两种
if (!IsValidPassword(xinmima)) { //在前端校验过了,这里不需要 ClientScript.RegisterStartupScript(GetType(), "", "alert(新密码必须至少8位,且至少包含大写字母、小写字母、数字、特殊符号中的3种)", true); } /// <summary> …...
线程控制
POSIX线程库 与线程有关的函数构成了⼀个完整的系列,绝⼤多数函数的名字都是以“pthread_”打头的要使⽤这些函数库,要通过引入头文件<pthread.h>链接这些线程函数库时要使⽤编译器命令的“-lpthread”选项 eg: g -o $ $^ -lpthread这个pthread库…...
WebView 与 JavaScript 的交互
从技术深度、安全意识 和 实战经验来介绍。以下是分层次的回答策略,从基础到高级逐步深入: 1. 基础实现 回答要点: "Android 和 JavaScript 的交互主要通过 WebView 的两种方式实现: Android 调用 JS: kotlin we…...
解决word中公式大小不一问题
文章目录 前言一、初见端倪二、解决方法三、题外话 前言 记录一下在 word 中使用 mathtype 编辑公式时出现的公式字体大小不一的问题的解决方法。 一、初见端倪 最近在 word 中使用 mathtype 进行公式编辑,刚开始编辑的公式并没有什么问题,过了几天后再…...
Haply与PickNik合作:Inverse3三轴力反馈控制器集成MoveIt Pro,提升机器人操作精度
Haply Robotics与PickNik Robotics合作,将Inverse3力反馈控制器集成到MoveIt Pro平台,优化人机交互,提升机器人操作精度。实时力反馈技术使操作者感知机器人与环境的交互力,增强远程操作的精确度和灵敏度,推动机器人技…...
【Linux笔记】文件的传输(scp、rsync、归档、压缩)
一、sshd 1、概念 在Linux系统中,文件传输常依赖于SSH协议(Secure Shell),而sshd(OpenSSH Daemon)是负责处理SSH连接的后台服务程序。通过sshd,用户可以在加密的通道中进行安全的远程登录、命…...
单位矩阵的特点
《单位矩阵的特性与重要性质》 单位矩阵是一种特殊的方阵,具有以下特点: 主对角线元素全为 1:单位矩阵 I n I_n In是一个 n n n\times n nn的方阵,其主对角线(从左上角到右下角的对角线)上的元素均为 …...
AI处理漫画转视频
AI处理漫画转视频 第一步 从漫画PDF文件读取图片 第二部 图片信息剪裁 第三步 OCR识别处理图片,获取漫画对应的文本信息 第四步 运用阿里云通义大模型千文处理提取的文本信息更符合文本语言 第五步 运用FishVideo大模型将文本信息转变为对应的语音 第六步 图片转视…...
三维空间中的离散曲线段匹配方法
基于离散 F r e ˊ c h e t Fr\{e}chet Freˊchet距离实现工程中的三维曲线段匹配 在自动驾驶系统中, 准确匹配相邻车道线是实现安全导航, 变道决策和路径规划的核心任务. 由于道路网络存在交叉口, 弯道, 多车道并行等复杂场景, 如何衡量目标车道曲线与其他候选车道线的空间关…...
HTML的Canvas元素
<Canvas>元素 <Canvas>元素是HTML5引入的一个强大的绘图元素,它允许通过 JavaScript 在网页上动态绘制图形、动画和交互式内容。需要注意的是,<Canvas>元素只是图形的一个容器,绘制图形必须使用Javascript。 空画布 <…...
Django学习记录-2-数据库
Django学习记录-2-数据库 文章目录 Django学习记录-2-数据库参考贴连接数据库后台查看数据库后台改为中文 table增删改查Python使用hash保持一致 虽然网上教程都很多,但是感觉自己记录一下才属于自己,之后想找也方面一点,文采不佳看的不爽可绕…...
qq邮箱群发程序
1.界面设计 1.1 环境配置 在外部工具位置进行配置 1.2 UI界面设计 1.2.1 进入QT的UI设计界面 在pycharm中按顺序点击,进入UI编辑界面: 点击第三步后进入QT的UI设计界面,通过点击按钮进行界面设计,设计后进行保存到当前Pycharm…...
spring mvc 中 RestTemplate 全面详解及示例
RestTemplate 全面详解及示例 1. RestTemplate 简介 定义:Spring 提供的同步 HTTP 客户端,支持多种 HTTP 方法(GET/POST/PUT/DELETE 等),用于调用 RESTful API。核心特性: 支持请求头、请求体、URI 参数的…...
openEuler-22.03-LTS-SP3 编译安装 Greenplum-db 6.20.0
openEuler-22.03-LTS-SP3 编译安装 Greenplum-db 6.20.0 1、配置 yum 华为源2、安装依赖3、源码安装 openssl 1.0.1u3.1、openssl 1.1.1 降级到 openssl 1.0.1 4、源码安装 python 2.75、使用 pip3 安装 Python 相关依赖6、编译安装 Greenplum-db 6.20.06.1、修改配置6.2、基于…...
天锐蓝盾多模式加密技术,构筑企业数据安全堡垒
一旦企业发生数据泄露,将遭受严重的经济损失,声誉也会一落千丈,甚至可能在激烈的竞争中陷入绝境。那么,企业究竟该如何守护敏感数据,筑牢数据安全的 “护城河” 呢?天锐蓝盾数据泄露防护系统给出了全面且专…...
可编辑37页PPT | 建筑行业DeepSeek日常实操培训
荐言摘要:随着人工智能技术的快速发展,DeepSeek作为一款具有创新性的AI工具,正逐步渗透到建筑行业的各个环节。为帮助建筑行业从业者掌握DeepSeek的核心功能与应用技巧,提升工作效率与决策能力,特推出本次建筑行业Deep…...
C语言指针和函数
文章目录 C语言指针和函数一、指针与函数1.传递指针给函数2.指针函数3.函数指针4.回调函数 二、多级指针三、空指针四、野指针 C语言指针和函数 在C语言的编程领域中,指针是一把强大而又危险的“双刃剑”。它不仅能够直接操作内存,提升程序的运行效率&a…...
左右开弓策略思路
一、策略概述 本策略是一种基于多种技术指标的复杂交易策略,包括自定义指标计算、过滤平滑处理以及交易信号生成。 该策略通过不同的交易平台代码段实现,旨在通过分析历史价格数据来预测未来价格走势,并据此生成交易信号。 二、主要技术指标…...
mapbox基础,加载F4Map二维地图
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性二、🍀F4Map 简介2.1 ☘️技术特点2.2 ☘️核…...
doxygen自动生成文档,注释容易错位的补充
开发过程中,为了简化api开发文档的编写工作,我们可以使用doxygen的标注来进行文档注释,最后自动化的生成相关文档: 参考:https://developer.aliyun.com/article/935529 参考:https://blog.csdn.net/qq_3459…...