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

十三届蓝桥杯省赛A组 扫描游戏

#算法/线段树
#算法/快读
参考题解:
题解参考
这题思路:
先将坐标进行极角排序,按照顺时针的先后顺序,如果出现两个坐标在一个象限中,我们就先判断这两个坐标是否在同一条直线上,如果在同一条直线上,我们按照离原点最近的长度进行排序
之后,我们通过线段树的方法,定义结点tr[i]代表第i个结点区间离原点最短的距离,接着在定义l,r代表第l第r个坐标
在query里边,我们查找[l,r]范围内最先被木棍遍历到的点
query(int p,int l,int r,int x,int y,_int128 val);
在query函数中,我们先判断当前的l,r是否就是x,y,如果是x,y我们再判断l是否等于r
如果l等于r并且,距离<=val,返回下标l或者r,否则返回-1
如果l!=r,那么,我们先判断左半部分的最小值tr[lc]是否<=val,如果不等于,我们就直接return query(rc,mid,r,mid+1,y,_int128 val);
如果x,y不是l,r我们分成三部分讨论:
mid=l+r>>1;
1.x,y在l,r中间的左侧,y<=(l+r>>1),我们就返回l,r的左半部分
2.x,y在l,r中间右侧,x>=mid+1,我们就返回l,r的右半部分
3.x,y在mid两侧,我们就先判断左侧返回的是否是-1,如果是-1,返回右侧最小下标
在update里边,我们对单点修改,当我们找到一个可以被修改的点,我们就将这个点修改为INF
如果l==r直接修改tr[p]=INF,否则,左右分开讨论,pos在哪一半就修改哪一半,最终更新父节点pushUp( p)

在线段树以外,由于我们是_int128,因此我们还需要用到快读

#include <bits/stdc++.h>using namespace std;const int N=2e5+10;typedef long long ll;#define lc p<<1 
#define rc p<<1|1const __int128 INF=1e37;struct point{ll x;ll y;ll z;int id;
}points[N];int n;
__int128 L;template<typename T>
inline T read(T&x){x=0;T f=1;char ch=getchar();if(ch=='-'){f=-1;ch=getchar();}while(ch<='9'&&ch>='0'){x=(x<<1)+(x<<3)+(ch-'0');ch=getchar();}return x*f;
}__int128 tr[4*N];
int ans[N];int XiangXian(point p){if(p.x>=0&&p.y>0)return 1;if(p.x>0&&p.y<=0)return 2;if(p.x<=0&&p.y<0)return 3;
//	if(p.x<0&&p.y>=0)return 4;else return 4;}ll cross(point p1,point p2){return p1.x*p2.y-p1.y*p2.x;
}bool cmp(point p1,point p2){if(XiangXian(p1)==XiangXian(p2)){if(cross(p1,p2)==0){return p1.x*p1.x+p1.y*p1.y<p2.x*p2.x+p2.y*p2.y;}else{return cross(p1,p2)<0;}}return XiangXian(p1)<XiangXian(p2);
}
void pushup(int p){tr[p]=min(tr[lc],tr[rc]);
}
void build(int p,int l,int r){if(l==r){tr[p]=points[l].x*points[l].x+points[l].y*points[l].y;return;}int mid=l+r>>1;build(lc,l,mid);build(rc,mid+1,r);pushup(p);
}int query(int p,int l,int r,int x,int y,__int128 len){if(l==x&&r==y){if(tr[p]>len)return -1;if(l==r){if(tr[p]>len)return -1;return l;}int mid=l+r>>1;if(tr[lc]<=len)return query(lc,l,mid,x,mid,len);else return query(rc,mid+1,r,mid+1,y,len);}int mid=l+r>>1;if(y<=mid)return query(lc,l,mid,x,y,len);if(x>mid)return query(rc,mid+1,r,x,y,len);else{int pos=query(lc,l,mid,x,mid,len);if(pos==-1){return query(rc,mid+1,r,mid+1,y,len);}return pos;}
}void update(int p,int l,int r,int pos,__int128 len){if(l==r){tr[p]=len;return;}int mid=l+r>>1;if(pos<=mid){update(lc,l,mid,pos,len);}else{update(rc,mid+1,r,pos,len);}pushup(p);
}int main(void){read(n);read(L);for(int i=1;i<=n;i++){cin>>points[i].x>>points[i].y>>points[i].z;points[i].id=i;}sort(points+1,points+1+n,cmp);build(1,1,n);int last=0;int lastrank=0;int rank=0;memset(ans,-1,sizeof ans);while(true){int idx=-1;if(last+1<=n){idx=query(1,1,n,last+1,n,L*L);if(idx!=-1){L+=points[idx].z;}}if(idx==-1){if(last>=2){idx=query(1,1,n,1,last-1,L*L);if(idx!=-1){L+=points[idx].z;}}}if(idx==-1)break;update(1,1,n,idx,INF);if(last==0){ans[points[idx].id]=++rank;last=idx;lastrank=rank;	}else{if(XiangXian(points[last])==XiangXian(points[idx])&&cross(points[last],points[idx])==0){ans[points[idx].id]=lastrank;rank++;last=idx;}else{ans[points[idx].id]=++rank;lastrank=rank;last=idx;}}}for(int i=1;i<=n;i++){cout<<ans[i]<<" ";}return 0;
}

相关文章:

十三届蓝桥杯省赛A组 扫描游戏

#算法/线段树 #算法/快读 参考题解: 题解参考 这题思路: 先将坐标进行极角排序,按照顺时针的先后顺序,如果出现两个坐标在一个象限中,我们就先判断这两个坐标是否在同一条直线上,如果在同一条直线上,我们按照离原点最近的长度进行排序 之后,我们通过线段树的方法,定义结点tr[i]…...

Python 序列构成的数组(list.sort方法和内置函数sorted)

list.sort方法和内置函数sorted list.sort 方法会就地排序列表&#xff0c;也就是说不会把原列表复制一份。这 也是这个方法的返回值是 None 的原因&#xff0c;提醒你本方法不会新建一个列 表。在这种情况下返回 None 其实是 Python 的一个惯例&#xff1a;如果一个函数 或者…...

C++类与对象进阶知识深度解析

目录 一、再谈构造函数 &#xff08;一&#xff09;构造函数体赋值 &#xff08;二&#xff09;初始化列表 &#xff08;三&#xff09;成员变量初始化顺序 &#xff08;四&#xff09;explicit关键字 二、static成员 &#xff08;一&#xff09;概念 &#xff08;二&am…...

【机器学习案列】基于LightGBM算法的互联网防火墙异常行为检测:数据不平衡的解决方案

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

详解minio部署

MinIO 是一款高性能、开源的分布式对象存储解决方案&#xff0c;专为存储非结构化数据&#xff08;如图片、视频、备份数据等&#xff09;而设计。MinIO 在吞吐量和延迟上表现出高性能提供与 Amazon S3 完全兼容的 API&#xff0c;支持水平扩展&#xff0c;支持端到端加密、访问…...

校园AI体育:科技赋能教育,运动点亮未来

校园AI体育&#xff1a;科技赋能教育&#xff0c;运动点亮未来 在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;已经悄然走进校园&#xff0c;成为教育领域的一股创新力量。而在体育教育中&#xff0c;AI技术的引入更是为传统体育教学注入了新的活力。校…...

LeetCode算法题(Go语言实现)_35

题目 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 一、代码实现 func goodNodes(root *TreeNode) int {if root nil {return 0}return d…...

ROS2_control 对机器人控制(不完整,有时间再更新)

ROS2_control 对机器人控制 安装与介绍安装介绍 使用gz 中写法.yaml文件中写法type: joint_state_broadcaster/JointStateBroadcaster的来源 命令接口关节控制command_interfacetransmission CMakelist.txt与package.xml文件 gz_ros2_control与自定义插件例子描述自定义插件使用…...

SAP-ABAP:SAP Enterprise Services Repository(ESR)技术全景解析

以下是对SAP PO中Enterprise Services Repository(ESR)的深度技术解析,包含详细架构设计、开发实践及企业级应用方案: SAP Enterprise Services Repository(ESR)技术全景解析 一、ESR核心架构与组件关系 1. 技术堆栈定位 ┌─────────────────────…...

每日一道leetcode

2130. 链表最大孪生和 - 力扣&#xff08;LeetCode&#xff09; 题目 在一个大小为 n 且 n 为 偶数 的链表中&#xff0c;对于 0 < i < (n / 2) - 1 的 i &#xff0c;第 i 个节点&#xff08;下标从 0 开始&#xff09;的孪生节点为第 (n-1-i) 个节点 。 比方说&…...

通过Aop实现限制修改删除指定账号的数据

1、需求 对于Teach账号创建的数据&#xff0c;其他用户仅仅只有查询的权限&#xff0c;而不能修改和删除。并且部分接口只允许Teach账号访问 2、实现思路 在删除和修改时往往需要传递数据的id&#xff0c;进而可以通过id查询该数据是否由Teach账号创建。当然我们可以在每个删…...

递归实现指数型枚举

我们以n2 为例 我们每次都有选和不选两种 方案&#xff0c;对于每个数字 核心代码 tatic void dfs(int u) { // u代表当前处理的数字if (u > n) { // 终止条件&#xff1a;处理完所有数字for (int i 1; i < n; i) { // 遍历所有数字if (nums[i]) {…...

无代码国产流程引擎 FlowLong 1.1.6 发布

无代码国产流程引擎 FlowLong 1.1.6 于 2025 年 4 月 7 日发布。 FlowLong 是一款纯血国产自研的工作流引擎&#xff0c;具有以下特点&#xff1a; 核心精简&#xff1a;引擎核心仅 8 张表实现逻辑数据存储&#xff0c;采用 json 数据格式存储模型&#xff0c;结构简洁直观。组…...

软考高项-考前冲刺资料-M 类【项目管理类】【光头张老师出品】

重点考点汇总 一、案例答题时需要注意: 1.条目写要清晰,要标注 1、2、3、4、… 2.关键字突出,关键字一定是专业词汇如 “监控”“控制成本”…等等,代替自己平时工作中的用此。 3.尽量多写几点,错了不扣分,但是避免重复写,避免写了一大段的内容,但是表达的是一个观点。…...

LLM Agents项目推荐:MetaGPT、AutoGen、AgentVerse详解

这一部分我们将深入介绍三大备受关注的LLM Agents项目&#xff1a;MetaGPT、AutoGen和AgentVerse&#xff0c;包括它们的背景、设计思路、主要功能、技术亮点以及典型应用场景。 1. MetaGPT&#xff1a;让AI像软件工程团队一样协作 项目背景 MetaGPT由Huang et al.于2023年提…...

win10家庭版安装Docker

win10家庭版本中成功安装Docker&#xff0c;亲测&#xff01; 1、下载Docker 下载地址&#xff1a;http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ Docker的有CE和EE版&#xff0c;CE为免费版&#xff0c;EE由公司支持的付费版&#xff0c;在此选择CE版本…...

mapbox基础,加载ESRI OpenStreetMap开放街景标准风格矢量图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.1 ☘️mapboxgl.Map style属性二、🍀加载ESRI OpenStreetMap开放街景标准风…...

【网络安全 | 漏洞挖掘】通过分析JS文件实现接口未授权访问与账户接管

未经许可,不得转载。 文中所述漏洞均已修复,未经授权不得进行非法渗透测试。 文章目录 正文正文 大约一年前,我给我妈买了一辆 2023 款斯巴鲁 Impreza,前提是她得答应我,之后我可以借来做一次“白帽渗透测试”。过去几年我一直在研究其他车企的安全问题,但一直没有机会仔…...

引领东方语言识别新风潮!Dolphin语音模型开创自动语音识别(ASR)新时代

引领东方语言识别新风潮&#xff01;Dolphin语音模型开创自动语音识别&#xff08;ASR&#xff09;新时代 在全球语音识别技术领域&#xff0c;随着人工智能的飞速发展&#xff0c;许多技术巨头纷纷推出了多语言支持的语音识别系统&#xff0c;如Whisper等。然而&#xff0c;尽…...

运动规划实战案例 | 基于四叉树分解的路径规划(附ROS C++/Python仿真)

目录 1 为什么需要四叉树&#xff1f;2 基于四叉树的路径规划2.1 分层抽象2.2 路图搜索2.3 动态剪枝 3 算法仿真3.1 ROS C算法仿真3.2 Python算法仿真 1 为什么需要四叉树&#xff1f; 路径规划的本质是在给定环境中寻找从起点到终点的最优或可行路径&#xff0c;其核心挑战在…...

java设计模式-享元模式

享元模式 基本介绍 1、享元模式(flyweight Pattern)&#xff0c;也叫作蝇量模式&#xff1a;运用在共享技术有效的支持大量细粒度的对象。 2、常用语系统底层开发&#xff0c;解决系统的性能问题。像 数据库连接&#xff0c;里面都是创建好的连接对象&#xff0c;在这些连接对…...

Java 大视界 -- Java 大数据在智慧水利水资源调度与水情预测中的应用创新(180)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

自动驾驶---苹果又要造车了吗?

1 背景 巴菲特一直认为造车的企业是一个做 “苦生意” 的企业&#xff0c;可能苹果高层也意识到了这一点&#xff0c; 于是造车计划在去年被终止。 但2025年2月份&#xff0c;苹果公司署名发了一篇自动驾驶领域的论文《Robust Autonomy Emerges from Self-Play》&#xff0c;详…...

Redis主从复制:告别单身Redis!

目录 一、 为什么需要主从复制&#xff1f;&#x1f914;二、 如何搭建主从架构&#xff1f;前提条件✅步骤&#x1f4c1; 创建工作目录&#x1f4dc; 创建 Docker Compose 配置文件&#x1f680; 启动所有 Redis&#x1f50d; 验证主从状态 &#x1f4a1; 重要提示和后续改进 …...

PHP:将关联数组转换为索引数组的完整示例

处理之前的数据 头和行在一起显示 // 执行SQL查询后的原始数据&#xff08;假设查询返回3条记录&#xff09; $rawData [[wip_entity_name > JOB001,primary_item > ITEM001,primary_name > 主产品1,primary_desc > 主产品描述1,start_quantity > 100,quanti…...

27.[2019红帽杯]easyRE1(保姆教程)

收到文件&#xff0c;.elf 文件&#xff0c;ExeinfoPE查看一下基础信息。无壳&#xff0c;64bit。 把文件拖入IDA工具&#xff0c;查看一下。 点击关键字&#xff0c;ctrl x 交叉搜索一下位置&#xff0c;跟进&#xff0c;顺便菜单左侧 Edit --> Plugins--> findcrypt …...

【Redis】Redis实现分布式锁

1. 基于Redis 1.1 加锁 setnx lockKey uniqueValue1.2 解锁 基于Lua脚本保证解锁的原子性。Redis在执行Lua脚本时&#xff0c;可以以原子性的方式执行&#xff0c;确保原子性。 if redis.call("get", keys[1]) argv[1] then return redis.call("del", …...

AI大模型底层技术——Scaling Law

0. 定义 Scaling Law 是描述 AI 模型性能随关键因素&#xff08;如参数量、数据量、计算量&#xff09;增长而变化的数学规律&#xff0c;通常表现为幂律关系。 历史里程碑&#xff1a; **OpenAI 2020 年论文首次系统提出语言模型的缩放定律**DeepMind、Google 等机构后续发表…...

Spring MVC 国际化机制详解(MessageSource 接口体系)

Spring MVC 国际化机制详解&#xff08;MessageSource 接口体系&#xff09; 1. 核心接口与实现类详解 接口/类名描述功能特性适用场景MessageSource核心接口&#xff0c;定义消息解析能力支持参数化消息&#xff08;如{0}占位符&#xff09;所有国际化场景的基础接口Resource…...

java学习笔记13——IO流

File 类的使用 常用构造器 路径分隔符 常用方法 File类的获取功能和重命名功能 File 类的判断功能 File类的创建功能和删除功能 File 类的使用 总结&#xff1a; 1.File类的理解 > File类位于java.io包下&#xff0c;本章中涉及到的相关流也都声明在java.io包下 > File…...

防DDoS流量清洗核心机制解析

本文深度剖析DDoS流量清洗技术演进路径&#xff0c;揭示混合云清洗系统的四层过滤架构&#xff0c;结合2023年新型反射攻击案例&#xff0c;提出基于AI行为分析的动态防御策略。通过Gartner最新攻防效能数据与金融行业实战方案&#xff0c;阐明流量清洗系统在误判率、清洗延迟、…...

边缘计算革命:低功耗GPU在自动驾驶实时决策中的应用

边缘计算革命&#xff1a;低功耗GPU在自动驾驶实时决策中的应用 ——分析NVIDIA Jetson与华为昇腾的嵌入式方案差异 一、自动驾驶的实时决策挑战与边缘计算需求 自动驾驶系统需在30ms内完成环境感知、路径规划与车辆控制的全流程闭环‌。传统云端计算受限于网络延迟&#xf…...

ubuntu24.04-MyEclipse的项目导入到 IDEA中

用myeclipse创建的一个web项目&#xff0c; jdk1.7,tomcat7,mysql8.0,导入到idea项目中 1.导入现有项目 1.打开IDEA&#xff0c;选择“Import Project”进入下一步 2.选择所需要导入的项目&#xff0c;点击“OK” 3.点击创建一个新的项目&#xff0c;然后下一步 4.直接点…...

基于SpringBoot的律师事务所案件管理系统【附源码】

基于SpringBoot的律师事务所案件管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1界面设计原则 4.2功能结构设计 4.3数据库设计 4.3.1属性图 4.3.2 数据库物理设计 5 系统实现 5.1客户信息管理 5.2 律师…...

电力网关:推动电力物联网及电力通信系统革新

在“双碳”目标与新型电力系统建设的背景下&#xff0c;电力行业正加速向数字化、智能化、绿色化转型。作为国内领先的电力物联网解决方案提供商&#xff0c;厦门计讯物联科技有限公司&#xff08;以下简称“计讯物联”&#xff09;依托自主研发的电力专用网关、边缘计算平台及…...

Android系统的Wi-Fi系统框架和详细启动流程

目录 一、前言 二、系统架构层次 ‌1、应用层‌ ‌2、Framework层‌ 3‌、HAL层‌ ‌4、驱动层‌ 三、Wi-Fi 目录树结构 四、系统流程 1、应用层请求 2、Wi-Fi管理服务处理 3、硬件交互 4、数据处理与事件通知 5.连接管理 6.状态维护 五、WiFi启动流程及函数调用…...

Scala基础知识8

集合计算高级函数 包括过滤、转换或映射、扁平化、扁平化加映射、分组、简化&#xff08;归约&#xff09;&#xff0c;折叠 过滤:遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。 转换或映射:将原始集合中的元素映射到某个函数中。 扁平化:取消嵌套格式&…...

SwiftUI 本地推送(Local Notification)教程目录

1. 本地推送简介 1.1 什么是本地推送&#xff1f;1.2 本地推送的应用场景&#xff08;提醒、定时任务、用户交互等&#xff09;1.3 本地推送与远程推送的区别 2. 前提条件 2.1 开发环境要求&#xff08;Xcode 13、iOS 15&#xff09;2.2 需要的基础知识&#xff08;SwiftUI …...

大数据技术与Scala

集合高级函数 过滤 通过条件筛选集合元素&#xff0c;返回新集合。 映射 对每个元素应用函数&#xff0c;生成新集集合 扁平化 将嵌套集合展平为单层集合。 扁平化映射 先映射后展平&#xff0c;常用于拆分字符串。 分组 按规则将元素分组为Map结构。 归约 …...

golang通过飞书邮件服务API发送邮件功能详解

一.需求 需要实现通过飞书邮件服务API发送邮件验证码功能:用户输入邮箱, 点击发送邮件,然后发送邮件验证码, 这里验证码有过期时间, 保存到redis缓存中 二.实现 实现的部分代码如下: 控制器部分代码 // 发送邮件控制器 func EmailSendController(userId uint64, m proto.Messa…...

BoostSearch搜索引擎项目 —— 测试用例设计 + web自动化测试代码

web自动化代码&#xff1a; https://gitee.com/chicken-c/boost-search/tree/master/AutoTest...

MySQL学习笔记集--触发器

触发器 MySQL触发器&#xff08;Trigger&#xff09;是一种特殊的存储过程&#xff0c;它在指定的数据库表上指定的事件&#xff08;INSERT、UPDATE、DELETE&#xff09;之前或之后自动执行。触发器可以用来强制执行复杂的业务逻辑、数据完整性规则、自动更新数据等。 触发器…...

算力驱动未来:从边缘计算到高阶AI的算力革命

算力驱动未来&#xff1a;从边缘计算到高阶AI的算力革命 摘要 本文深入探讨了不同算力水平&#xff08;20TOPS至160TOPS&#xff09;在人工智能领域的多样化应用场景。从边缘计算的实时目标检测到自动驾驶的多传感器融合&#xff0c;从自然语言处理的大模型应用到AI for Scie…...

4.8刷题记录(双指针)

今天刷的部分是代码随想录中的双指针专题代码随想录 由于里面包含的题目大部分之前刷过&#xff0c;并且用双指针做过。所以今天仅仅复习&#xff0c;不再进行代码的搬运。 1.19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 分析&#xff1a;此题无…...

在shell脚本中,$@和$#的区别与联系

在 Shell 脚本里&#xff0c;$ 和 $* 都是用于表示传递给脚本或函数的所有参数&#xff0c;下面详细介绍它们的区别与联系。 联系 表示所有参数&#xff1a;二者都能够代表传递给脚本或者函数的全部参数。当你在执行脚本时带上了多个参数&#xff0c;$ 和 $* 都能把这些参数呈…...

IP节点详解及国内IP节点获取指南

获取国内IP节点通常涉及网络技术或数据资源的使用&#xff0c;IP地址作为网络设备的唯一标识&#xff0c;对于网络连接和通信至关重要。详细介绍几种修改网络IP地址的常用方法&#xff0c;无论是对于家庭用户还是企业用户&#xff0c;希望能找到适合自己的解决方案。以下是方法…...

Google Play上架:解决android studio缓存问题(内容清理不干净导致拒审)

在as打包中,经常会遇到改变工程参数或者对应文件参数的情况,比如 修改android gradle版本 快捷键:ctrl + alt + shift + s 修改SDK文件路径 快捷键:ctrl + alt + shift + s 修改Gradle存储下载文件的默认位置 快捷键:ctrl + alt + s 先打开设置 修改compile...

蓝桥杯备赛 Day 21 图论基础

图的基础 ![[图的基础.png]] 1.图的存储方式 (1)邻接表(常用) vector<pair<int,int>> g[N]; //g[x]存放x的所有出点信息,二维数组 g[i][j]{first,second},first是从i出发的第j个出点,second表示边权 例如上图: g[1]{{2,0}.{3,0}} g[6]{{3,7}} g[4]{{5,0},{6,0}…...

MySQL数据库应用技术试卷

建一个以自己名字拼音为命名的数据库。&#xff08;3分&#xff09; CREATE DATABASE example; 令这个数据库为当前所使用的数据库。&#xff08;2分&#xff09; USE example; 写出如下student表结构语句。&#xff08;95分&#xff09; 表1&#xff1a; 列名 数据类型 …...

openssl源码分析之加密模式(modes)

openssl实现分组加密模式&#xff08;例如AES128-CBC的CBC部分&#xff09;的模块名字叫做modes&#xff0c;源代码位于 https://gitee.com/gh_mirrors/openssl/tree/master/crypto/modes 博主又打不开github了TT&#xff0c;只能找个gitee镜像 头文件是modes.h。 该模块目前…...