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

线段树练习

P1198 [JSOI2008] 最大数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// Problem: P1198 [JSOI2008] 最大数
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P1198
// Memory Limit: 128 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int maxn = 2e5 + 10;
#define int long long 
struct
{int l,r;int v;
}tr[maxn * 4];
void push_down(int u)
{tr[u].v = max(tr[u << 1].v, tr[u << 1 | 1].v);
}void built(int u,int l,int r)
{tr[u] = {l, r};if(l == r)return;//int mid = (l + r) >> 1;built(u << 1, l , mid);built(u << 1 | 1, mid + 1,r);
}void modify(int u,int x,int v)
{if(tr[u].l == x && tr[u].r == x)tr[u].v = v;else{int mid = (tr[u].l + tr[u].r) >> 1;if(x > mid)modify(u << 1 | 1,x , v);else modify(u << 1,x , v);push_down(u);}
}int query(int u, int l, int r)
{if(tr[u].l >= l && tr[u].r <= r)return tr[u].v; //int v = 0;int mid = tr[u].l + tr[u].r >> 1; //if(l <= mid)v = query(u << 1, l, r);if(r > mid)v = max(v, query(u << 1 | 1,l , r));return v;
}signed main()
{cin.tie(0) -> sync_with_stdio(false);int M, D;int n = 0;//队列数int last = 0;//最后一个数 cin >> M >> D;built(1, 1, M);//query modifywhile(M--){char key;int x;cin >> key >> x;if('A' == key){modify(1, ++n,(last + x) % D);}else{last = query(1,n - x + 1,n);cout << last << endl; }}return 0;
}

245. 你能回答这些问题吗 - AcWing题库

P3374 【模板】树状数组 1 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// Problem: P3374 【模板】树状数组 1
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P3374
// Memory Limit: 512 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)//只有单点修改
#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<queue>
#include<map>
#include<string>
#include<cstring>
#include<cmath>
#include<bitset>
#include<sstream>//切割strtream头文件
#include<climits>//INT_MAX文件
#include <utility>
#include<memory>//for unique_ptr shared_ptr
using i64 = int64_t;
using namespace std;
#define int i64
#define endl '\n'
#define AC return 0;
#define WA(x) cout << x << endl;
#define lowbit(x) x & -x
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
int n, m, k, d, T = 1, A, B;template<typename T>void read(T &x) {T f = 1;x = 0;char s = getchar();while(s < '0' || s > '9') {if(s == '-')f = -1;s = getchar();}while(s >= '0' && s <= '9') {x = x * 10 + s - '0';s = getchar();}x *= f;
}template<typename T>void print(T x) {if(x < 0) putchar('-'),x = -x;if(x > 9) print(x / 10);putchar(x % 10 + '0');putchar('\n');
}
constexpr int Init(int x)
{return x * 2;
}
int a[maxn];
struct node
{int l, r, sum;
}tr[maxn * 4];void pushdown(int u)
{tr[u].sum = tr[u << 1].sum + tr[u << 1 | 1].sum;
}void built(int u,int l,int r)
{tr[u] = {l, r};if(l == r)return;else{int mid = (l + r) >> 1;built(u << 1, l, mid);built(u << 1 | 1, mid + 1, r);}
}void modify(int u, int x, int d)
{if(tr[u].l == x && tr[u].r == x)tr[u].sum += d;else{int mid = (tr[u].l + tr[u].r) >> 1;if(x <= mid)modify(u << 1, x, d);else modify(u << 1 | 1, x , d);pushdown(u);}
}int query(int u,int l,int r)
{if(tr[u].l >= l && tr[u].r <= r)return tr[u].sum;else{int mid = (tr[u].r + tr[u].l) >> 1;int res = 0;if(l <= mid)res += query(u << 1, l, r);if(r > mid)res += query(u << 1 | 1,l , r);return res;}
}void solve()
{auto x = make_unique<int>();cin >> n >> m;built(1, 1, n);for(int i = 1;i <= n;i++)cin >> a[i];for(int i = 1;i <= n;i++)modify(1, i, a[i]);for(int i = 1;i <= m;i++){cin >> k >> A >> B;if(1 == k)modify(1, A, B);elsecout << query(1, A, B) << endl;}}signed main() {cin.tie(0) -> sync_with_stdio(false);int T = 1;//read(T);while (T--) solve();return 0;
}

P3372 【模板】线段树 1 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// Problem: P3372 【模板】线段树 1
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P3372
// Memory Limit: 125 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<queue>
#include<map>
#include<string>
#include<cstring>
#include<cmath>
#include<bitset>
#include<sstream>//切割strtream头文件
#include<climits>//INT_MAX文件
#include <utility>
#include<memory>//for unique_ptr shared_ptr
using i64 = int64_t;
using namespace std;
#define int i64
#define endl '\n'
#define AC return 0;
#define WA(x) cout << x << endl;
#define lowbit(x) x & -x
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
int n, m, k, d, T = 1, A, B;template<typename T>void read(T &x) {T f = 1;x = 0;char s = getchar();while(s < '0' || s > '9') {if(s == '-')f = -1;s = getchar();}while(s >= '0' && s <= '9') {x = x * 10 + s - '0';s = getchar();}x *= f;
}template<typename T>void print(T x) {if(x < 0) putchar('-'),x = -x;if(x > 9) print(x / 10);putchar(x % 10 + '0');putchar('\n');
}
constexpr int Init(int x)
{return x * 2;
}
int a[maxn];
struct node
{int l, r, sum, add;	
}tr[maxn * 4];void pushup(int u)
{tr[u].sum = tr[u << 1].sum + tr[u << 1 | 1].sum;
}void pushdown(int u)
{auto &root = tr[u], &left = tr[u << 1], &right = tr[u << 1 | 1];if(root.add){left.add += root.add; left.sum += (left.r - left.l + 1) * root.add;right.add += root.add; right.sum += (right.r - right.l + 1) * root.add;root.add = 0;}
}void built(int u, int l, int r)
{if(l == r){tr[u] = {l, r, a[l], 0};return;}tr[u] = {l, r};int mid = (l + r) >> 1;built(u << 1, l, mid);built(u << 1 | 1, mid + 1, r);pushup(u);
}void modify(int u, int l, int r, int d)
{if(tr[u].l >= l && tr[u].r <= r){tr[u].sum += (tr[u].r - tr[u].l + 1) * d;tr[u].add += d;}else{pushdown(u);int mid = (tr[u].l + tr[u].r) >> 1;if(l <= mid)modify(u << 1, l, r, d);if(r > mid)modify(u << 1 | 1, l, r, d);pushup(u);}
}int query(int u, int l, int r)
{if(tr[u].l >= l && tr[u].r <= r)return tr[u].sum;pushdown(u);int mid = (tr[u].l + tr[u].r) >> 1;int res = 0;if(l <= mid)res += query(u << 1, l, r);if(r > mid)res += query(u << 1 | 1, l, r);return res;
}
void solve()
{auto x = make_unique<int>();cin >> n >> m;for(int i = 1;i <= n;i++)cin >> a[i];built(1, 1, n);while(m--){cin >> k >> A >> B;if(1 == k){int d;cin >> d;modify(1, A, B, d);}elsecout << query(1, A, B) << endl;}
}signed main() {cin.tie(0) -> sync_with_stdio(false);int T = 1;//read(T);while (T--) solve();return 0;
}

247. 亚特兰蒂斯 - AcWing题库

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;#define p1 (p<<1)
#define p2 (p<<1|1)const int N=10005;struct T {int l,r,mini,add;double len; //区间长度double minlen; //区间最小值的区间长度
} t[N*8];
struct A {double x,y1,y2;int add;
} a[N*2];
int n,len;
double lsh[N*2];bool cmp(A u,A v) {return u.x<v.x;}
int val(double x) {return lower_bound(lsh+1,lsh+1+len,x)-lsh;}
double raw(int x) {return lsh[x];}void pushUp(int p) {t[p].mini=min(t[p1].mini,t[p2].mini);double minlen=0;if(t[p].mini==t[p1].mini) minlen+=t[p1].minlen;if(t[p].mini==t[p2].mini) minlen+=t[p2].minlen;t[p].minlen=minlen;
}void build(int p,int l,int r) {double len=raw(r+1)-raw(l);t[p]={l,r,0,0,len,len};if(l==r) return;int mid=l+r>>1;build(p1,l,mid),build(p2,mid+1,r);
}void pushDown(int p) {t[p1].add+=t[p].add,t[p2].add+=t[p].add;t[p1].mini+=t[p].add,t[p2].mini+=t[p].add;t[p].add=0;
}void upd(int p,int l,int r,int add) {if(t[p].l>=l && t[p].r<=r) {t[p].mini+=add,t[p].add+=add; return;}if(t[p].add!=0) pushDown(p);int mid=t[p].l+t[p].r>>1;if(l<=mid) upd(p1,l,r,add);if(r>mid) upd(p2,l,r,add);pushUp(p);
}int main()
{for(int tim=1;;tim++) {scanf("%d",&n);if(!n) break;printf("Test case #%d\n",tim);for(int i=1;i<=n;i++) {double x1,y1,x2,y2;scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);a[i]={x1,y1,y2,1},a[i+n]={x2,y1,y2,-1};lsh[i]=y1,lsh[i+n]=y2;}n*=2;sort(a+1,a+1+n,cmp),sort(lsh+1,lsh+1+n);len=unique(lsh+1,lsh+1+n)-lsh-1;build(1,1,len-1);double ans=0;upd(1,val(a[1].y1),val(a[1].y2)-1,a[1].add);for(int i=2;i<=n;i++) {double len=t[1].len;if(!t[1].mini) len-=t[1].minlen;ans+=len*(a[i].x-a[i-1].x);upd(1,val(a[i].y1),val(a[i].y2)-1,a[i].add);}printf("Total explored area: %.2lf\n\n",ans);}return 0;
}

线段树扫描线应用

P3373 【模板】线段树 2 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// Problem: P3373 【模板】线段树 2
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P3373
// Memory Limit: 125 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<queue>
#include<map>
#include<string>
#include<cstring>
#include<cmath>
#include<bitset>
#include<sstream>//切割strtream头文件
#include<climits>//INT_MAX文件
#include <utility>
#include<memory>//for unique_ptr shared_ptr
using i64 = int64_t;
using namespace std;
#define int i64
#define endl '\n'
#define AC return 0;
#define WA(x) cout << x << endl;
#define lowbit(x) x & -x
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
int n, m, k, d, T = 1, A, B, p;template<typename T>void read(T &x) {T f = 1;x = 0;char s = getchar();while(s < '0' || s > '9') {if(s == '-')f = -1;s = getchar();}while(s >= '0' && s <= '9') {x = x * 10 + s - '0';s = getchar();}x *= f;
}template<typename T>void print(T x) {if(x < 0) putchar('-'),x = -x;if(x > 9) print(x / 10);putchar(x % 10 + '0');putchar('\n');
}
constexpr int Init(int x)
{return x * 2;
}
int a[maxn];struct node
{int l, r, sum, add, mul;
}tr[maxn];void eval(node &root,int add, int mul)
{root.sum = (root.sum * mul + ((root.r - root.l + 1) * add)) % p;root.mul = root.mul * mul % p;root.add = (root.add * mul + add) % p;
}void pushup(int u)
{tr[u].sum = (tr[u << 1].sum + tr[u << 1 | 1].sum) % p;
}void pushdown(int u)
{eval(tr[u << 1],tr[u].add, tr[u].mul);eval(tr[u << 1 | 1],tr[u].add, tr[u].mul);tr[u].add = 0;tr[u].mul = 1;
}void built(int u, int l, int r)
{if(l == r)tr[u] = {l, r, a[l], 0, 1};else{tr[u] = {l, r, 0, 0 , 1};int mid = (l + r) >> 1;built(u << 1, l, mid);built(u << 1 | 1,mid + 1, r);pushup(u);}
}void modify(int u, int l, int r, int add, int mul)
{if(tr[u].l >= l && tr[u].r <= r)eval(tr[u], add, mul);else{pushdown(u);int mid = (tr[u].l + tr[u].r) >> 1;if(l <= mid)modify(u << 1, l, r, add, mul);if(r > mid)modify(u << 1 | 1, l, r, add, mul);pushup(u);}
}int query(int u, int l, int r)
{if(tr[u].l >= l && tr[u].r <= r)return tr[u].sum % p;pushdown(u);int mid = (tr[u].l + tr[u].r) >> 1;int res = 0;if(l <= mid)res += query(u << 1, l, r) % p;if(r > mid)res += query(u << 1 | 1, l, r) % p;return res % p;
}void solve()
{auto x = make_unique<int>();cin >> n >> m >> p;for(int i = 1;i <= n;i++)cin >> a[i];built(1, 1, n);while(m--){cin >> k >> A >> B;if(3 == k)cout << query(1, A, B) << endl;else{int d; cin >> d;k == 1 ? modify(1, A, B, 0, d) : modify(1, A, B, d, 1);}}
}signed main() {cin.tie(0) -> sync_with_stdio(false);int T = 1;//read(T);while (T--) solve();return 0;
}

相关文章:

线段树练习

P1198 [JSOI2008] 最大数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) // Problem: P1198 [JSOI2008] 最大数 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P1198 // Memory Limit: 128 MB // Time Limit: 1000 ms // // Powered by CP Editor (https://c…...

Mybatis映射.动态sql.分页

介绍&#xff1a; 动态SQL是MyBatis提供的一种动态生成SQL语句的方式&#xff0c;可以根据不同的条件生成不同的SQL语句&#xff0c;从而实现更加灵活的查询和操作。 在MyBatis的映射文件中&#xff0c;可以通过使用if、choose、when、otherwise、foreach等标签来实现动态SQL…...

springboot向resources下写文件的两种方式

文章目录 方式一&#xff1a;方式二&#xff1a; 方式一&#xff1a; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class WriterFileUtils {private static final String prefix "classpath:";public static void writeFi…...

Sloare flare网卡信息

详细的安装信息 https://github.com/Xilinx-CNS/onload/tree/master/scripts 进行下载 Solarflare网卡开发&#xff1a;openonload 安装与调试_openonload安装_Erice_s的博客-CSDN博客 cns-sfnettest测试 cns-sfnettest 下载 https://github.com/Xilinx-CNS/cns-sfnettes…...

Redis知识点整理

第一部分&#xff1a;Redis基础知识点 1、数据类型 5种常用基础类型&#xff1a;string,hash,list,set,zset – 字符串&#xff0c;Hash表&#xff0c;List顺序集合&#xff0c;Set无序集合&#xff0c;ZSet有序集合3中特殊类型&#xff1a;bitmap-字节地图, hyperloglog-统计…...

React笔记(一)初识React

一、React概述 1、什么是react react的官网:React 用于构建用户界面的 JavaScript 库&#xff0c;它也是一个渐进式的用于构建用户界面的javascript框架 2、主要特征 声明式&#xff1a;使用原生JS编写的页面存在着开发效率低下、性能较差的情况&#xff0c;使用react大家就…...

C语言——指针进阶(一)

目录 ​编辑 一.字符指针 1.1 基本概念 1.2 面试题 二.指针数组 三.数组指针 3.1 数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 四.数组参数、指针参数 4.1 一维数组传参 ​编辑 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 ​编辑 五.…...

【ArcGIS Pro二次开发】(62):复制字段

应网友需求&#xff0c;做了这么一个复制字段的小工具。 假定这样一个场景&#xff0c;手头有一个要素1&#xff0c;要素里有10个字段&#xff0c;另一个要素2&#xff0c;除了shape_area等图形字段外&#xff0c;没有其它字段。 现在的需求是&#xff0c;想把要素1中的8个字…...

【Tkinter系列02/5】界面初步和布局

本文是系列文章第二部分。前文见&#xff1a;【Tkinter系列01/5】界面初步和布局_无水先生的博客-CSDN博客 说明 一般来说&#xff0c;界面开发中&#xff0c;如果不是大型的软件&#xff0c;就不必用QT之类的实现&#xff0c;用Tkinter已经足够&#xff0c;然而即便是Tkinter规…...

2023年03月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;和最大的路径称为最佳路径。你的任务就是求出最佳路径上的…...

介绍一些编程语言— CSS 语言

介绍一些编程语言— CSS 语言 CSS 语言 简介 CSS&#xff0c;层叠样式表&#xff0c;是一种用来表现 HTML 或 XML 等文件样式的计算机语言。CSS 不仅可以静态地修饰网页&#xff0c;还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进…...

一文讲清楚c/c++中的宏

一文讲清楚c/c中的宏 文章目录 一文讲清楚c/c中的宏一、如何理解这个“宏”字面的意思呢&#xff1f;二、c/c中的宏详解三、宏的使用场景 一、如何理解这个“宏”字面的意思呢&#xff1f; 在刚开始学习C语言的时候&#xff0c;始终有点分不清楚"宏"这个字面上的意思…...

typescript进阶语法

typescript进阶语法 interface 接口定义 interface userType {name:string,age:number,sex?:string }type接口定义 type userType {name:string,age:number,sex?:string } type userType username # 固定值写法 let user:userType age # 报错 只能等于usernamepick摘取…...

宝塔终端 查看 7003端口 占用 并且杀死

要查看端口是否被占用并杀死相关进程&#xff0c;你可以按照以下步骤执行&#xff1a; 打开宝塔面板&#xff0c;进入服务器管理页面。在左侧导航栏中选择「工具」&#xff0c;然后选择「终端」进入宝塔终端界面。输入以下命令查看端口占用情况&#xff1a;netstat -tuln | gr…...

可解释性的相关介绍

一、可解释性的元定义&#xff08;Meta-definitions of Interpretability&#xff09; The extent to which an individual can comprehend the cause of a model’s outcome. [1]The degree to which a human can consistently predict a model’s outcome. [2] 可解释性&am…...

AUTOSAR规范与ECU软件开发(实践篇)6.7 服务软件组件与应用层软件组件端口连接

在生成了BSW模块的代码后, 切换到ISOLAR-A系统级设计界面,会发现产生一些基础软件模块的服务软件组件: BswM、 ComM、 Det和EcuM等, 如图6.60所示。 图6.60 生成了BSW后的服务软件组件 此时, 如果涉及服务软件组件与应用层软件组件的交互, 就需要为应用层软件组…...

菜鸟教程《Python 3 教程》笔记(6):列表

菜鸟教程《Python 3 教程》笔记&#xff08;6&#xff09; 6 列表6.1 删除列表元素6.2 列表函数和方法6.2.1 max()、min()6.2.2 reverse()6.2.3 sort() 6 列表 出处&#xff1a; 菜鸟教程 - Python3 列表 6.1 删除列表元素 >>> list [Google, Runoob, 1997, 2000]…...

LeetCode-56-合并区间

题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 可以使用 LinkedList&#xff0c;…...

Git gui教程---番外篇 gitignore 的文件使用

想说的 .gitignore 的文件一般大型的编译器带git的都会生成&#xff0c;他可以将你不想提交的文件在git下忽略掉&#xff0c;你应该不想将一大堆编译生成的过程文件&#xff0c;还有一些贼大的文件提交上git的。 凡是都有例外&#xff0c;一些冥顽不灵的编辑器&#xff0c;只能…...

javaee spring 用注解的方式实现ioc

spring 用注解的方式实现ioc spring核心依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...