当前位置: 首页 > 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"…...

Substance Painter入门:从模型到贴图的核心工作流解析

1. Substance Painter入门指南&#xff1a;从零开始掌握PBR材质创作 第一次打开Substance Painter时&#xff0c;很多人都会被它复杂的界面吓到。作为一个从Maya转战材质制作的老鸟&#xff0c;我完全理解这种感受。但别担心&#xff0c;只要掌握几个核心概念&#xff0c;你就…...

北京AGG专用配件哪家性价比高

在选择AGG聚砂吸声系统的专用配件时&#xff0c;不少工程方和设计师都会问“北京哪家性价比高”。我的建议是&#xff1a;别只看标价&#xff0c;要看配件与系统的适配度、长期使用的稳定性&#xff0c;以及能否提供及时的技术支持。AGG系统本身是一个完整的声学解决方案&#…...

FinalShell不止是SSH客户端:挖掘它的云端同步、命令补全和服务器管理隐藏功能

FinalShell进阶指南&#xff1a;解锁云端同步、智能补全与高效运维的隐藏技巧 如果你已经用FinalShell完成了基础的SSH连接操作&#xff0c;那么是时候探索这个工具更强大的另一面了。作为一款被低估的一体化运维工具&#xff0c;FinalShell在高效命令操作、多设备协同和服务器…...

构建个人代码知识库:codesift工具的设计理念与高效实践

1. 项目概述&#xff1a;从代码仓库到个人知识库的进化最近在整理自己过去几年写过的代码片段、工具脚本和项目配置时&#xff0c;发现了一个普遍存在的痛点&#xff1a;这些零散的“智慧结晶”散落在硬盘的各个角落、不同的Git仓库里&#xff0c;甚至有些只存在于模糊的记忆中…...

Redis++完全指南:C++开发者的终极Redis客户端解决方案

Redis完全指南&#xff1a;C开发者的终极Redis客户端解决方案 【免费下载链接】redis-plus-plus Redis client written in C 项目地址: https://gitcode.com/gh_mirrors/re/redis-plus-plus Redis是一款专为C开发者打造的高性能Redis客户端&#xff0c;它提供了简洁易用…...

从工程师漫画竞赛看技术社区运营与内容创作之道

1. 项目概述&#xff1a;一场载入史册的漫画标题竞赛在技术圈子里&#xff0c;工程师们除了埋头画电路、写代码&#xff0c;其实也藏着不少幽默细胞。2011年6月&#xff0c;一场由《EE Times》举办的漫画标题竞赛&#xff0c;就上演了堪称史上最胶着的对决。这场竞赛的核心&…...

商业航天崛起:从SpaceX看工程创新与政策博弈的融合

1. 商业航天崛起的时代背景与技术逻辑2012年5月&#xff0c;当SpaceX的“龙”飞船与国际空间站成功对接时&#xff0c;我正和几位航天领域的同行在会议室里盯着直播画面。那一刻的安静与随后爆发的掌声&#xff0c;不仅仅是为一次技术成功&#xff0c;更是为一个新时代的开启感…...

基于Twilio与ChatGPT构建AI电话助手:架构设计与实战指南

1. 项目概述&#xff1a;当ChatGPT遇上实体电话最近在折腾一个挺有意思的玩意儿&#xff0c;叫“ChatGPT-phone”。这名字听起来有点科幻&#xff0c;但说白了&#xff0c;它的核心目标就是让一个AI语音助手&#xff0c;比如ChatGPT&#xff0c;能够像真人一样接听和拨打电话。…...

Flutter 告别 Rosetta:揭秘 iOS 工具链原生适配 M 芯片的“折腾”史

如果你是 macOS 用户&#xff0c;一定对 Apple Silicon&#xff08;M1/M2/M3&#xff09;的性能赞不绝口。但在光鲜的背后&#xff0c;很多底层开发工具其实一直在靠 Rosetta 2 偷偷「苟延残喘」。今天&#xff0c;我们通过复盘近期 Flutter 官方的一个核心 PR&#xff0c;来看…...

别再只调pool_size了!MaxPool2D的strides和padding参数实战避坑指南(附TensorFlow/Keras代码)

MaxPool2D参数深度解析&#xff1a;如何用strides和padding精准控制特征图尺寸 在构建卷积神经网络时&#xff0c;池化层的参数设置往往被当作"调参黑箱"一带而过。许多开发者习惯性地只调整pool_size&#xff0c;却对strides和padding参数的微妙影响缺乏足够重视。这…...