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

河南萌新联赛2024第(一)场:河南农业大学 A D F G H I K

A 造数

题目描述:

给定一个整数 𝑛 ,你可以进行以下三种操作
操作1: +1
操作2; +2
操作3: ×2
问最少需要多少次操作可以将 0 转为为 𝑛 。

解题思路

操作1,2,3。操作 3 的使 n 变小的更快。

AC代码

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
void solve()
{int n;cin>>n;int ans=0;while(n){if(n==1||n==2)//操作1,操作2 的 逆过程{ans++;break;}if(n%2==1) //操作 1 的逆过程{n--;ans++;}else // 操作 3 的逆过程{n/=2;ans++;}}cout<<ans;
}
signed main()
{int t;t=1;while(t--)solve();return 0;
}

D 小蓝的二进制询问

题目描述

小蓝有 𝑡 组询问,每次给定两个数字 l,r 你需要计算出区间 [𝑙,𝑟] 中所有整数在二进制下1的个数之和。由于结果特别大,你只需要计算出结果模998244353之后的值即可。

解题思路

求出区间 [ 0 , x ] 之间的数的二进制下数的第 k 位是 1 时的所有情况

1.第 k 位前的数 为 k ^ 2 的倍数(周期 tl 的倍数),这时第 k 位后全为 0
2. 第 k 位以及第 k 位后的数(为第 1 种情况的余数就是认定为 0 的数,实际不一定为 0 )如果大于周期,则加上大出的部分,否则不加

AC代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=998244353;
int f(int x,int k)
{int y=1ll<<(k+1);// 2 的 k + 1 次幂,用于求出 x 的周期倍数int tl=y/2;// 周期(当第 k 位为 1 时,k 位之后为 0 1 的所有情况)x++;// 自增,用于后续判断 第 k 位 是否为 1 int res=(int)(x/y)*tl;// 计算出第一种情况int r=x%y; //求出第 k 位到 0 位的数r-=tl;if(r>0)res+=r;//计算第 2 种情况return res%mod;
}
void solve()
{int l,r;cin>>l>>r;int ans=0;for(int i=61;i>=0;i--){int t=(f(r,i)-f(l-1,i))%mod;// 第 i 位为 1 时,[0 ,r] 与 [0,l-1] 的情况差ans=(ans+t)%mod;}cout<<ans<<'\n';
}
signed main()
{int t;cin>>t;while(t--)solve();return 0;
}

F 两难抉择新编

题目描述

现在有长度为 n n n 的数组 a a a,你可以在两种操作中选择一种进行最多一次操作。

  • 操作1:

选择一个数 i i i ( 1 ≤ i ≤ n ) (1\leq i\leq n) (1in) 使得 a i : = a i + x a_i:=a_i+x ai:=ai+x x x x 可以是 [ 1 , ⌊ n / i ⌋ ] [1,\lfloor n/i \rfloor] [1,n/i⌋] 范围内任意正整数( ⌊ ⌋ \lfloor\rfloor 表示向下取整 )。

  • 操作2:

选择一个数 i i i ( 1 ≤ i ≤ n ) (1\leq i\leq n) (1in) 使得 a i : = a i × x a_i:=a_i \times x ai:=ai×x x x x 可以是 [ 1 , ⌊ n / i ⌋ ] [1,\lfloor n/i \rfloor] [1,n/i⌋] 范围内任意正整数。

请问进行操作后,最大的数组异或和是多少?

数组异或和:数组 a a a a 1 ⊕ a 2 ⊕ a 3 . . . ⊕ a n a_1\oplus a_2 \oplus a_3 ... \oplus a_n a1a2a3...an的值, ⊕ \oplus 表示异或。

解题思路

直接模拟所有情况,理解异或( ^ )的自逆

AC代码

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define PII pair<int,int>
#define fi first
#define se second
const int N=2e5+10;
int a[N];
void solve()
{int n;cin>>n;int sum=0;for(int i=0;i<n;i++){cin>>a[i];if(i==0){sum=a[i];continue;}sum=sum^a[i];}int ans=0;for(int i=0;i<n;i++){int t=sum^a[i];for(int j=1;j<=n/(i+1);j++){int x=t^(j+a[i]),y=t^(j*a[i]);ans=max(ans,max(x,y));}}cout<<ans;
}
signed main()
{int t;
//	cin>>t;t=1;while(t--)solve();return 0;
}

G 旅途的终点

题目描绘

在某大陆上面有 n n n 个国家,作为旅行者兼冒险家的你想以一种既定的路线(即从1到 n n n )去畅游这 n n n 个国家,但由于这 n n n 个国家并不太平,因此每到一个国家你都需要消耗 a i a_i ai 点的生命力来帮助这个国家重回往日的安宁然后再进行畅游。不过天生拥有神力的你却有 k k k 次释放神力的机会来帮助这个国家恢复安宁,且释放神力时不消耗任何生命力。你在旅行前拥有 m m m 点的生命力,若你在旅途中不幸用完全部的生命力,则便会回到你诞生的地方陷入沉睡。现在请问你最多可以畅游多少个国家。注意:若在当前国家消耗完生命力则意味着你并没有畅游该国家。

输入

输入包含 2 行。
第一行三个正整数 n , m , k ( 1 ≤ n ≤ 2 × 1 0 5 , 1 ≤ m ≤ 1 0 18 , 0 ≤ k ≤ 2 × 1 0 5 ) n,m,k(1≤n≤2\times10^5,1≤m≤10^{18},0≤k≤2\times10^5) nmk(1n2×105,1m1018,0k2×105) ,分别代表国家的个数,你拥有的初始生命力,你可以释放神力的次数。
第二行包含 n n n 个正整数,第 i i i 个正整数 a i ( 1 ≤ a i ≤ 1 0 18 ) a_i (1≤a_i≤10^{18}) ai(1ai1018) 代表你不释放神力帮助第 i i i 个国家需要消耗的生命力的大小。

输出

输出包含一行,共一个数,表示你能畅游的国家的个数。

解题思路

逆贪心,用优先队列 ,需要释放技能时,每次消化当前位置到首位的最大值。

AC代码

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define PII pair<int,int>
#define fi first
#define se second
const int N=2e5+10;
void solve()
{priority_queue<int>q;int n,m,k;cin>>n>>m>>k;int ans=0;int i;for(i=0;i<n;i++){int x;cin>>x;m-=x;q.push(x);if(m<=0&&k){k--;m+=q.top();q.pop();}if(m<=0)break;}cout<<i;
}
signed main()
{int t;
//	cin>>t;t=1;while(t--)solve();return 0;
}

H 两难抉择

题目描述

现在有长度为 n n n 的数组 a a a,你可以在两种操作中选择一种进行最多一次操作。

  • 操作1:

选择一个数 i i i ( 1 ≤ i ≤ n ) (1\leq i\leq n) (1in) 使得 a i : = a i + x a_i:=a_i+x ai:=ai+x x x x 可以是 [ 1 , n ] [1,n] [1,n] 范围内任意正整数。

  • 操作2:

选择一个数 i i i ( 1 ≤ i ≤ n ) (1\leq i\leq n) (1in) 使得 a i : = a i × x a_i:=a_i \times x ai:=ai×x x x x 可以是 [ 1 , n ] [1,n] [1,n] 范围内任意正整数。

请问进行操作后,最大的数组总和是多少?

输入

输入包含两行.
第一行一个正整数 n n n ( 1 ≤ n ≤ 2 × 1 0 5 ) (1\leq n\leq 2 \times 10^5) (1n2×105) 表示数组 a a a 的长度。
第二行 n n n 个正整数 a i a_i ai ( 1 ≤ a i ≤ 1 0 9 ) (1\leq a_i \leq10^9) (1ai109) 表示数组 a a a 的元素。

输出

输出包含一行一个整数,表示最大的数组总和。

解题思路

变化最大的 a i a_i ai ,使数组和最大

AC代码

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define PII pair<int,int>
#define fi first
#define se second
const int N=2e5+10;
int a[N];
void solve()
{int n;cin>>n;int ma=-1,sum=0;for(int i=0;i<n;i++){cin>>a[i];sum+=a[i];ma=max(a[i],ma);}sum-=ma;if((sum+ma*n)>=(sum+ma+n))cout<<sum+ma*n;else    cout<<sum+ma+n;
}
signed main()
{int t;t=1;while(t--)solve();return 0;
}

I 除法移位

题目描述

现在有长度为 n n n 的数组 a a a,式子 S S S 定义为 S = a 1 ÷ a 2 ÷ a 3 . . . ÷ a n S=a_1\div a_2\div a_3...\div a_n S=a1÷a2÷a3...÷an,最多对数组 a a a 进行 t t t循环右移操作**。
**

请问,进行第几次操作时使得 S S S 最大?若存在多种答案,请输出最小值。

循环右移:一次操作使数组从 a 1 , a 2 , a 3 , . . . , a n a_1,a_2,a_3,...,a_n a1,a2,a3,...,an 形式转换为 a n , a 1 , a 2 , . . . , a n − 1 a_n,a_1,a_2,...,a_{n-1} an,a1,a2,...,an1 形式。

输入

输入包含两行.
第一行一个正整数 n , t n,t n,t ( 1 ≤ n ≤ 2 × 1 0 5 , 0 ≤ t ≤ 1 0 9 ) (1\leq n\leq 2\times10^5,0\leq t\leq 10^9) (1n2×105,0t109) 表示数组 a a a 的长度和最多的操作次数。
第二行 n n n 个正整数 a i a_i ai ( 1 ≤ a i ≤ 1 0 9 ) (1\leq a_i \leq10^9) (1ai109) 表示数组 a a a 的元素。

输出

输出包含一行一个整数,表示使得 S S S 最大的最小操作次数。

解题思路

尽可能将大数移到首位

AC代码

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define PII pair<int,int>
#define fi first
#define se second
const int N=2e5+10;
int a[N];
map<int , int>mp;
vector<int> q;
map<int,int>v;
void solve()
{int n,t;cin>>n>>t;int ma=-1;for(int i=1;i<=n;i++){cin>>a[i];mp[a[i]]=i;v[a[i]]++;if(v[a[i]]==1){q.push_back(a[i]);}}sort(q.begin(),q.end());int ans=0;for(int i=q.size()-1;i>=0;i--){int x=q[i];int y=mp[x];if((n-y+1)<=t){ans=n-y+1;break;}}if(ans==n)ans=0;cout<<ans;
}
signed main()
{int t;
//	cin>>t;t=1;while(t--)solve();return 0;
}

K 图上计数(Easy)

题目描述

E a s y Easy Easy 版本和 H a r d Hard Hard 版本唯一的区别是 H a r d Hard Hard 版本删除的是桥,而 E a s y Easy Easy 版本删除的是任意边。
你有一张 n n n 个点 m m m 条边的无向图,你有无数次删除操作来删除任意条边以获得若干个联通块。定义联通块的大小为其所包含点个数。定义这个图的代价是:你有任意次操作,每次操作合并两个联通块,合并后联通块大小为二者之和,最后剩下两个联通块大小的乘积为此图的代价,若只有一个则代价为0。你需要最大化此图代价。

输入

第一行包含两个整数 n n n m m m ,图中顶点的数量和边的数量。

接下来的每 m m m 行包含两个整数 u u u v v v ,表示图中顶点 u u u v v v 之间有一条无向边。

( 0 < n ≤ 1 0 6 ) \left ( 0< n\leq 10^{6} \right ) (0<n106)

( 0 ≤ m ≤ 1 0 6 ) \left ( 0\leq m\leq 10^{6} \right ) (0m106)

( 0 < u , v ≤ n ) \left ( 0< u,v\leq n \right ) (0<u,vn)

输出

输出一个整数表示最大代价。

解题思路

删除所有边,可能任意组合

AC代码

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define PII pair<int,int>
#define fi first
#define se second
void solve()
{int n;cin>>n;cout<<(n/2)*(n-n/2);
}
signed main()
{int t;
//	cin>>t;t=1;while(t--)solve();return 0;
}

相关文章:

河南萌新联赛2024第(一)场:河南农业大学 A D F G H I K

A 造数 题目描述&#xff1a; 给定一个整数 &#x1d45b; &#xff0c;你可以进行以下三种操作 操作1&#xff1a; 1 操作2&#xff1b; 2 操作3&#xff1a; 2 问最少需要多少次操作可以将 0 转为为 &#x1d45b; 。 解题思路 操作1&#xff0c;2&#xff0c;3。操作 3 …...

通信协议_C#实现CAN通信

CAN协议 CAN&#xff08;Controller Area Network&#xff09;即控制器局域网络。特点&#xff1a; 多主网络&#xff1a;网络上的任何节点都可以主动发送数据&#xff0c;不需要一个固定的主节点。双绞线&#xff1a;使用双绞线作为通信介质&#xff0c;支持较远的通信距离。…...

【AI工具基础】—B树(B-tree)

B树&#xff08;B-tree&#xff09;是一种自平衡的树状数据结构&#xff0c;它能够在保持数据有序的同时&#xff0c;优化大块数据的读写操作&#xff0c;使得查找、顺序访问、插入和删除等操作都能在对数时间内完成。以下是对B树原理的详细描述&#xff1a; 一、定义与特性 …...

STM32智能仓库管理系统教程

目录 引言环境准备智能仓库管理系统基础代码实现&#xff1a;实现智能仓库管理系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;仓库管理与优化问题解决方案与优化收尾与总结 1. 引言 智能仓库管理系统通…...

空间计算开发:Volu的集成开发工具包

在空间计算技术迅速发展的今天,VR和AR项目的开发需求日益增长。Volu,一个面向空间计算赛道的开发者工具,正致力于简化这一过程。本文将深入探讨Volu如何通过其集成环境,为开发者提供一站式的解决方案。 一、定位:空间计算的得力助手 Volu定位为一个专为空间开发设计的集…...

02-Redis未授权访问漏洞

免责声明 本文仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担&…...

Linux——多路复用之poll

目录 前言 一、poll的认识 二、poll的接口 三、poll的使用 前言 前面我们学习了多路复用的select&#xff0c;知道多路复用的原理与select的使用方法&#xff0c;但是select也有许多缺点&#xff0c;导致他的效率不算高。今天我们来学习poll的使用&#xff0c;看看poll较于…...

【AI资讯】7.19日凌晨OpenAI发布迷你AI模型GPT-4o mini

性价比最高的小模型 北京时间7月19日凌晨&#xff0c;美国OpenAI公司推出一款新的 AI 模型“GPT-4o mini”&#xff0c;即GPT-4o的更小参数量、简化版本。OpenAI表示&#xff0c;GPT-4o mini是目前功能最强大、性价比最高的小参数模型&#xff0c;性能逼近原版GPT-4&#xff0…...

3.设计模式--创建者模式--工厂模式

3.设计模式–创建者模式–工厂模式 3.1简单工厂和静态 工厂&#xff08;不属于23中设计模式&#xff09; //抽象类&#xff1a;定义了产品的规范&#xff0c;描述了产品的主要特性和功能 public interface Tea {public abstract void setName();public abstract String getNa…...

IOT 的 10 种常见协议、组网模式、特点及其使用场景浅析

前情&#xff1a; 开放系统互连&#xff08;OSI&#xff09;模型&#xff0c;它列出了七层。从下到上&#xff0c;各层如下&#xff1a; 物理层 数据链接 网络层 传输层 会话层 推介会 应用层 物联网也以多层模型的形式表达。尽管有些使用 OSI 七层模型&#xff0c;但其…...

【Android】 dp与sp,加冕为王

目录 重要概念 屏幕尺寸 屏幕分辨率 屏幕像素密度 基础知识&#xff1a; ppi pt DPI 的定义和重要性 Android 中的 DPI 级别 px dp&#xff08;Density Independent Pixels&#xff09; sp&#xff08;Scale-independent Pixels&#xff09; 安卓的dp/dip、sp 虚拟…...

R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图

R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图 散点图示例解析效果 饼图示例解析效果 折线图示例解析效果 柱状图示例解析效果 箱线图示例解析效果 直方图示例解析效果 曲线图使用 curve() 函数示例效果 使用 plot() 函数示例效果 使用 ggplot2 包绘制…...

影响转化率的多元因素分析及定制开发AI智能名片S2B2C商城系统小程序的应用案例

摘要&#xff1a;在互联网时代&#xff0c;转化率是衡量营销活动成功与否的关键指标。本文首先分析了影响转化率的多种因素&#xff0c;包括活动页面的设计、活动的限时性、主题文案的吸引力、从众心理的运用&#xff0c;以及最核心的产品质量与优惠力度。接着&#xff0c;本文…...

数据仓库中事实表设计的关键步骤解析

在数据仓库的设计过程中&#xff0c;事实表是描述业务度量的核心组件。本文将深入探讨数据仓库中事实表设计的关键步骤&#xff0c;包括选择业务过程及确定事实表类型、声明粒度、确定维度和确定事实的过程&#xff0c;帮助读者更好地理解和应用事实表设计的原则和方法。 第一…...

.net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段

Program.cs 安装包&#xff1a;Microsoft.AspNetCore.Hosting.WindowsServices、Microsoft.Extensions.Hosting、Microsoft.Extensions.Hosting.WindowsServices、Microsoft.Extensions.Logging.Log4Net.AspNetCore 新建Configs/log4net.config using Com.Chinahorn.Exchange.W…...

通过 EMR Serverless Spark 提交 PySpark 流任务

在大数据快速发展的时代&#xff0c;流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台&#xff0c;它不仅简化了实时数据处理流程&#xff0c;还免去了服务器管理的烦恼&#xff0c;提升了效率。本文将指导您使用EMR Serverless Spark…...

【Linux网络】epoll实现的echo服务器{nocopy类/智能指针/echo服务器}

文章目录 1.代码基础1.1某类唯一存在1.2C智能指针 2.epoll实现的echo服务器日志套接字CMakeepoll封装主函数服务器 1.代码基础 1.1某类唯一存在 这段代码定义了一个名为 nocopy 的类&#xff0c;它旨在防止该类的实例被复制或赋值。这是通过在类中显式删除拷贝构造函数&#…...

[数据集][目标检测]拐杖检测数据集VOC+YOLO格式2778张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2778 标注数量(xml文件个数)&#xff1a;2778 标注数量(txt文件个数)&#xff1a;2778 标注…...

长按加速- 解决react - setInterval下无法更新问题

最开始直接setInterval里&#xff0c;useState硬写&#xff0c;发现更新不&#xff0c;固定值 换let&#xff0c;发现dom更新不了 正确做法是用ref 并且pc端可以长按的&#xff0c;只是要用onTouchStart&#xff0c;不要用onMouseDown onTouchStart{handleMouseDown} onTou…...

路网双线合并单线——ArcGIS 解决方法

路网双线合并成单线是一个在地图制作、交通规划以及GIS分析中常见的需求。双线路网定义&#xff1a;具有不同流向、不同平面结构的道路。此外&#xff0c;车道数较多的道路&#xff08;例如&#xff0c;双黄实线车道数大于4的道路&#xff09;也可以视为双线路网&#xff0c;本…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...