Jzoj3591 数据

Git仓库克隆失败的根因诊断与CI/CD稳定拉取方案 Git仓库克隆(clone)是构建可复现开发环境的基础操作,其本质是重建完整版本控制历史而非简单文件下载。理解克隆原理有助于识别SSL证书校验、SSH密钥认证、子模块初始化等核心机制的技术价值。在DevOps实践中,克隆失败常暴露DNS解析异常、GPG签名强制策略、detached head状态或CI环境Git配置污染等问题。典型应用场景包括开源项目快速启动、Hermes Agent插件安装、Kubernetes Operator部署及流水线checkout阶段故障排查。本文聚焦真实工程现场,覆盖HTTPS 阅读详情

现在,二维平面上有N个点。Alex 需要实现以下三种操作:

1. 在点集里添加一个点;

2. 给出一个点,查询它到点集里所有点的曼哈顿距离的最小值;

3. 给出一个点,查询它到点集里所有点的曼哈顿距离的最大值。 

两个点的曼哈顿距离定义为它们的横坐标差的绝对值与纵坐标差的绝对值的和。这么困难的问题,Alex当然不会做,只好再次请你帮忙了。


树套树裸题

cdq分治第二题诶,突然才感觉cdq分治好棒啊

分成按照相对询问的坐标四种情况,分别是1234象限,让后分别开两颗线段树分治

注意这样会超时,我们按照x分治,将23象限分到一起分治,14象限分到一起分治,同时开4颗动态开点的线段树以y坐标作为键值,这样可以减小常数,同时也减小代码量

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<queue> 
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 100010
#define M 1000000000
#define mid (l+r>>1)
#define LL long long
using namespace std;
int n,m,t=0; LL ans[N];
struct op{ int o,x,y,r; } s[N<<1],c[N<<1],r[N<<1];
struct seg{
	int rt,cnt;
	struct tree{ int l,r; LL s,m; } s[N<<5];
	void clear(){ cnt=rt=0; }
	inline void insert(int l,int r,int& x,int p,LL k){
		if(!x) s[x=++cnt]=(tree){0,0,-(M<<1),M<<1}; 
		s[x].s=max(s[x].s,k); s[x].m=min(s[x].m,k);
		if(l==r) return; 
		if(p<=mid) insert(l,mid,s[x].l,p,k);
			else insert(mid+1,r,s[x].r,p,k);
	}
	inline LL query(int l,int r,int x,int L,int R){
		if(!x) return -(M<<1);
		if(L<=l && r<=R) return s[x].s;
		LL ans=-(M<<1);
		if(L<=mid) ans=max(ans,query(l,mid,s[x].l,L,R));
		if(mid<R) ans=max(ans,query(mid+1,r,s[x].r,L,R));
		return ans;
	}
	inline LL Query(int l,int r,int x,int L,int R){
		if(!x) return M<<1;
		if(L<=l && r<=R) return s[x].m;
		LL ans=M<<1;
		if(L<=mid) ans=min(ans,Query(l,mid,s[x].l,L,R));
		if(mid<R) ans=min(ans,Query(mid+1,r,s[x].r,L,R));
		return ans;
	}
	inline void insert(int p,int k){ insert(0,M,rt,p,k); }
	inline LL query(int L,int R){ return query(0,M,rt,L,R); }
	inline LL Query(int L,int R){ return Query(0,M,rt,L,R); }
}MX,MS;
void cdq1(int l,int r){
	if(l==r) return;
	int m=mid,t=l,i,j;
	cdq1(l,m); cdq1(m+1,r);
	MX.clear(); 
	MS.clear();
	for(i=l,j=m+1;i<=m&&j<=r;)
		if(s[i].x>=s[j].x){
			if(s[i].o==0){
				MX.insert(s[i].y,s[i].x+s[i].y);	
				MS.insert(s[i].y,s[i].x-s[i].y);
			}
			c[t++]=s[i++];
		} else{
			if(s[j].o==1) ans[s[j].r]=min(ans[s[j].r],min(MX.Query(s[j].y,M)-s[j].x-s[j].y,MS.Query(0,s[j].y)-s[j].x+s[j].y));
				else if(s[j].o==2) ans[s[j].r]=max(ans[s[j].r],max(MX.query(s[j].y,M)-s[j].x-s[j].y,MS.query(0,s[j].y)-s[j].x+s[j].y));
			c[t++]=s[j++];
		}
	for(;i<=m;++i) c[t++]=s[i];
	for(;j<=r;++j){
			if(s[j].o==1) ans[s[j].r]=min(ans[s[j].r],min(MX.Query(s[j].y,M)-s[j].x-s[j].y,MS.Query(0,s[j].y)-s[j].x+s[j].y));
				else if(s[j].o==2) ans[s[j].r]=max(ans[s[j].r],max(MX.query(s[j].y,M)-s[j].x-s[j].y,MS.query(0,s[j].y)-s[j].x+s[j].y));
			c[t++]=s[j];
	}
	for(int i=l;i<=r;++i) s[i]=c[i];
}
void cdq2(int l,int r){
	if(l==r) return;
	int m=mid,t=l,i,j;
	cdq2(l,m); cdq2(m+1,r); 
	MX.clear();
	MS.clear(); 
	for(i=l,j=m+1;i<=m&&j<=r;)
		if(s[i].x<=s[j].x){
			if(s[i].o==0){
				MX.insert(s[i].y,s[i].x+s[i].y);
				MS.insert(s[i].y,-s[i].x+s[i].y);
			}
			c[t++]=s[i++];
		} else{
			if(s[j].o==1) ans[s[j].r]=min(ans[s[j].r],min(-MX.query(0,s[j].y)+s[j].x+s[j].y,MS.Query(s[j].y,M)+s[j].x-s[j].y));
				else if(s[j].o==2) ans[s[j].r]=max(ans[s[j].r],max(-MX.Query(0,s[j].y)+s[j].x+s[j].y,MS.query(s[j].y,M)+s[j].x-s[j].y));
			c[t++]=s[j++];
		}
	for(;i<=m;++i) c[t++]=s[i];
	for(;j<=r;++j){
			if(s[j].o==1) ans[s[j].r]=min(ans[s[j].r],min(-MX.query(0,s[j].y)+s[j].x+s[j].y,MS.Query(s[j].y,M)+s[j].x-s[j].y));
				else if(s[j].o==2) ans[s[j].r]=max(ans[s[j].r],max(-MX.Query(0,s[j].y)+s[j].x+s[j].y,MS.query(s[j].y,M)+s[j].x-s[j].y));
			c[t++]=s[j];
		}
	for(int i=l;i<=r;++i) s[i]=c[i]; 
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;++i) scanf("%d%d",&s[i].x,&s[i].y);
	scanf("%d",&m);
	for(int i=1;i<=m;++i){
		scanf("%d%d%d",&s[i+n].o,&s[i+n].x,&s[i+n].y);
		if(s[i+n].o) s[i+n].r=++t,ans[t]=(s[i+n].o&1?M<<1:0);
	}
	memcpy(r,s,sizeof s); cdq1(1,n+m);
	memcpy(s,r,sizeof s); cdq2(1,n+m);
	for(int i=1;i<=t;++i) printf("%lld\n",ans[i]);
}



BERTopic模型入门教程(附代码+参数调节) BERTopic 是一种用于从文本数据中提取主题模型的新型方法。通过结合 BERT嵌入和传统的主题模型来生成语义丰富的主题。传统的主题模型(如LDA)主要依赖于词频矩阵,而 BERTopic 通过预训练语言模型生成高维语义嵌入来捕捉词语间的复杂关系,因此可以更好地处理上下文信息。BERTopic模型可以看作是创建其主题表示的一系列步骤。核心原理如下:就本质而言,BERTopic就是一个拼装框架,可以把每部分都替换成其他模型,只要完成任务即可。 阅读详情

相关推荐

别再只调包了!深入理解机器学习虚拟筛选中的分子指纹(ECFP/Morgan)

本文深入探讨了ECFP/Morgan分子指纹在机器学习虚拟筛选中的应用与优化策略。通过解析半径参数与比特长度的化学意义,揭示了如何通过参数调优提升模型性能20%以上,特别适用于药物发现领域的高通量筛选。文章还提供了工程实践中的参数优化策略和多指纹融合技术,为开发者提供从理论到实践的全面指导。

weixin_33704234的博客 828

JZOJ4769 【GDOI2017模拟9.9】graph CDQ分治+用按秩合并维护带撤销的并查集(BZOJ 4025)

题目大意现在有NN个点,MM个操作,对于每个操作有两种情况 1. Ord=1Ord = 1:读入u,vu,v表示连接u,vu,v。 2. Ord=0Ord = 0:读入uu表示删除第uu次连接的边。 对于每次操作,如果当前是一幅二分图则输出YESYES,否则输出NONO。N,M≤3∗105N,M\leq 3*10^5解题思路我们先考虑没有删除的情况,判断当前的图是不是一个二分图就相当与判断图中

YxuanwKeith的博客 2359

CST 仿真_NFC仿真

在CST中实现NFC天线单体的仿真

qq_43706810的博客 3960

【JZOJ5699】【GDOI2018 day1】涛涛接苹果(appletree)(三维偏序问题(CDQ分治+树状数组 or 带修主席树))

Problem   给定一颗n个节点的树,初始时第i个节点的苹果重量为ai。涛涛每天早上会摘掉根上的苹果;下午,所有苹果下降一层(即从子节点掉到父亲节点)。魔法师洋洋会进行m次单点修改。父亲图图提出了q个问题,每个问题是:求在第t天早上(涛涛采摘前),以x为根的子树的重量和。 Hint Solution 10~40points:模拟+线段树/树状数组+分层求前缀和   这...

qq_36551189的博客 1400

编译原理(东南大学)一:【编译原理期末冲刺救命笔记】速存!看完再上考场稳了!

本文详细介绍了编译原理的核心概念和流程,包括程序设计语言的分类、编译程序的各个阶段(如词法分析、语法分析、语义分析、中间代码生成、优化和目标代码生成)以及编译程序生成和构造的基础知识。文章还探讨了编译中的表格管理、出错处理和遍的概念,以及编译基础知识如高级语言、语法规则、字母表和符号串的运算。此外,文中还涉及文法与语言的关系,包括文法的概念、非终结符、终结符、产生式、推导和规约等。整体内容旨在为学习编译原理的学生提供全面的复习资料和考试准备指南。

一位搞嵌入式和前端的genius的博客 1026

自动化测试软件设计:C# + VISA 库实现多接口(GPIB/USB)测试仪器控制

本文介绍了如何利用C#和VISA库开发支持多接口的自动化测试软件。VISA库作为标准化API,能够统一控制GPIB、USB等不同接口的测试设备。文章详细阐述了软件设计目标,包括多接口支持、统一控制、自动化脚本执行等功能。重点讲解了C#中VISA库的安装配置,并提供了设备控制类的核心代码实现,涵盖设备连接、命令发送、响应读取等关键操作。通过具体示例展示了GPIB和USB设备的连接方式,并扩展了自动化测试脚本功能。该方案具有高扩展性和维护性,适用于电子设备测试、生产线检测等多种场景,为自动化测试系统开发提供了实

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1708

【JZOJ3591】【NOI2014模拟】数据(CDQ分治+线段树)

Problem   现在,二维平面上有N个点。实现以下三种操作:   1. 在点集里添加一个点;   2. 给出一个点,查询它到点集里所有点的曼哈顿距离的最小值;   3. 给出一个点,查询它到点集里所有点的曼哈顿距离的最大值。 Hint   1 ≤ N, Q ≤ 100,000,点的坐标是不超过10^8的非负整数。 Solution   首先考虑如何破掉曼哈顿距离。设当...

qq_36551189的博客 514

TDDFT计算软件Octopus学习笔记(二):基态计算(Si)

本文以硅为例,来进行基态计算。

陈啸的博客 7305

JZOJ4559 【NOI2016模拟6.23】水平线上的肮脏交易和卑鄙勾当 转换模型后CDQ分治

题目大意现在有一个坐标轴,现在有NN个交易。对于一个交易有发生的时间tit_i和发生的位置sis_i,交易发生是瞬间的。初始时你在00处,t=0t=0,每一时你可以选择左移一个单位或右移一个单位。问经过时间TT后,一定要回到原点的情况下,交易的最小间隔是多少。N≤105N \leq 10^5 −106≤si≤106 -10^6 \leq s_i \leq 10^6解题思路我们考虑交易jj满足什么条

YxuanwKeith的博客 1054

嵌入式开发必看:STM32 DMA双缓冲配置全攻略(含CubeMX教程)

本文详细解析了STM32 DMA双缓冲机制的原理与优势,并提供了基于CubeMX的完整配置教程。通过硬件自动切换两个缓冲区,实现DMA传输与CPU处理的真正并行,有效降低中断频率,提升高速数据采集、音频流处理等场景下的系统效率和实时性。

weixin_29212429的博客 173

控制算法研发工程师(博士)职位深度解析与面试指南

摘要:广东万和新电气股份有限公司招聘控制算法研发工程师(博士),工作地点佛山顺德。职位要求2026届博士学历,电子信息工程或控制科学与工程专业。主要职责包括:1)燃气热水、热泵等系统的电控软件设计与优化;2)开发PID、模糊控制、ADRC、MPC等智能算法,应用于恒温控制、变频调节等场景。重点考察算法研发能力、系统稳定性优化及嵌入式实现经验。该职位提供三年资深工程师培养计划,需具备扎实的控制理论基础和工程实践能力,能够处理非线性系统、多工况自适应等复杂控制问题。

郑伟强dev的专栏 139

一些基础算法的模板(持续更新)

更新中 //Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft //To be continued... //Suffix Automation char str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin

扩展の灰(Extended Ash/Cooevjnz) 3865

在鸿蒙中使用AVPlayer完成视频的播放【坚果派】

播放的全流程包含:创建AVPlayer,设置播放资源和窗口,设置播放参数(音量/倍速/缩放模式),播放控制(播放/暂停/跳转/停止),重置,销毁资源。5.准备播放:调用prepare(),AVPlayer进入prepared状态,此时可以获取duration,设置缩放模式、音量等。8.退出播放:调用release()销毁实例,AVPlayer进入released状态,退出播放。6.视频播控:播放play(),暂停pause(),跳转seek(),停止stop() 等操作。今天我们来看一下视频如何正常播放。

坚果的博客 4054

Jzoj3467 最长上升子序列

维护一个序列,使它可以进行下面两种操作: 1.在末尾添加一个数字x 2.将整个序列变成第x次操作后的样子 在每次操作后,输出当前序列的最长上升子序列的长度 序列初始时为空 嗯,可持久化线段树的裸题 额这可是noip提高组难度的题,我们发现所有操作可以变成一棵树(离线做法老套路了) 让后每次最多修改数组上的一个值(考虑二分求LIS的过程)最后改回去就好了 注意dfs又卡栈(jzo

扩展の灰(Extended Ash/Cooevjnz) 3022

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Jzoj4877 力场护盾(红警系列)

ZMiG成功粉碎了707的基因突变计划,为了人类的安全,他决定向707的科学实验室发起进攻!707并没有想到有人敢攻击她的实验室,一时间不知所措,决定牺牲电力来换取自己实验室的平安。     在实验室周围瞬间产生了一个无限大的力场护盾,它看上去无懈可击!不过ZMiG拥有惊人的双向观察能力,经过他的反复观察,找到了这个护盾的N个弱点,他本想逐一击破,却发现一股神秘力量阻止了他的行为。原来他身处力场

扩展の灰(Extended Ash/Cooevjnz) 1169

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Jzoj5462【NOIP2017提高A组冲刺11.8】证书

Pulumi生活在P城的角落,而他的朋友们gjdy,oyski,tutuwai等等生活在P城的靠中心位置。 P城很大,但它拥有优秀的城市结构,同时P城重视文化教育的发展,P城共有n个学校,校与校之间共建立了n-1条交通线路,且两所学校之间存在唯一的连通路径。 P城常常举行各种类型的评比活动,为了节约资金,最终将给某一条路径上的所有学校颁发证书。为了便于描述我们记一次评比活动的结果为(ui,vi

扩展の灰(Extended Ash/Cooevjnz) 1057

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CDQ分治&整体二分九连测

整体二分好难a CDQ分治&amp;amp;amp;amp;整体二分九连: A[适者] 先来一个不是cdq分治的题(虽然也可以用分治做) 首先先来考虑按照什么顺序来搞掉这些机甲 对于两个相邻的机甲i,j,先i后j的代价是Ai∗Di+(Di+Dj)∗AjAi∗Di+(Di+Dj)∗AjA_i*D_i+(D_i+D_j)*A_j 那么如果i应该比j先消灭就有 Ai∗Di+(Di+Dj)∗Aj&amp;amp;amp;lt;A...

扩展の灰(Extended Ash/Cooevjnz) 757

Jzoj4727 挺进

题意:给你一颗树,要求断掉一条边,使得剩下两个联通快的直径之和最大 一看就是树形DP嘛,c1表示最长边c2次长,f表示父亲部分的最长路 上面做法不讲,我们讲一种比较新奇的方法 假设我们枚举断哪一条边,在lgn时间内求出两个联通快的直径不就行了嘛 怎么做呢,我们发现,可以用树的dfs序来维护,我们用一个线段树维护一个区间内的直径的端点和长度 额,如何合并? 我们假设两块的直径端点分别为x

扩展の灰(Extended Ash/Cooevjnz) 756

Jzoj1020 逆序对统计 ≈ Bzoj3295 动态逆序对

Jzoj1020: Dramatic是在太菜了。最近,他学习了有关逆序对的知识,并且掌握了计算一个序列逆序对个数的高效算法,因此,他兴冲冲的跑去向YY牛炫耀。YY牛对此不屑一顾,并打击Dramatic说:“这是在太小儿科了!”Dramatic很不甘心,于是在他的强烈要求下,YY牛给他出了一道跟逆序对有关的“难题”(显然,对于YY牛来说是简单题)。题目是这样的:YY牛首先给Dramatic一个长

扩展の灰(Extended Ash/Cooevjnz) 718

Jzoj5236 利普希茨

对于一个整数序列A,我们定义f(A)=max{floor(|Ai-Aj|/(j-i))},这里i 给出一个长度为n的序列A,有q此操作 1.修改一个元素的值 2.询问A的一段区间[l,r]组成的序列的f(A[l..r]) 这里有一个很显然的结论,那就是使得f取到最大的i,j一定满足j=i+1 为什么?可以证明一下,以下证明来自jefflyy:函数 " 用归纳法,若(长度为2⋯

扩展の灰(Extended Ash/Cooevjnz) 702

Jzoj5456【NOIP2017提高A组冲刺11.6】奇怪的队列

nodgd的粉丝太多了,每天都会有很多人排队要签名。 今天有n个人排队,每个人的身高都是一个整数,且互不相同。很不巧,nodgd今天去忙别的事情去了,就只好让这些粉丝们明天再来。同时nodgd提出了一个要求,每个人都要记住自己前面与多少个比自己高的人,以便于明天恢复到今天的顺序。 但是,粉丝们或多或少都是有些失望的,失望使她们晕头转向、神魂颠倒,已经分不清楚哪一边是“前面”了,于是她们可能是记

扩展の灰(Extended Ash/Cooevjnz) 586

Jzoj4604 树

子树的问题都是dfs序的工作啦,加上个线段树就ok了 #include #define mid (l+r>>1) struct Edge{ int v,nt; } G[200010]; int h[100010],cnt=0,clk=0,l[100010],r[100010]; int s[400040],n,m,d[100010]; char c[5]; void adj(int x,in

扩展の灰(Extended Ash/Cooevjnz) 500

Jzoj3898 树的连通性

题意:给一棵树,每次删边或者询问连通性,强制在线 其实这题做法很多嘛,简单说一下 一眼看过去肯定是LCT啦,于是马上开始打 打到一半发现似乎不用LCT?好像树剖也可以嘛 结果发现树剖也不用,直接一个dfs序就可以了嘛 用线段树维护每个点能到达的最远的祖先,删边的时候将整个区间覆盖即可 注意,对于在子树中已经断开的节点不要再覆盖,可以记录每个节点深度 #pragma GCC opi

扩展の灰(Extended Ash/Cooevjnz) 495

Jzoj3625 旅行(travel)

非常好的树剖模板题了,直接C颗线段树上去就好了,动态开点一次写对~ #pragma GCC opitmize("O3") #pragma G++ opitmize("O3") #include #include #include #define N 100010 #define mid (l+r>>1) using namespace std; struct edge{ int v,nt;

扩展の灰(Extended Ash/Cooevjnz) 485

Jzoj2921【NOI2012模拟题】字符串识别

神(shui)题,AC后看了下别人的code发现全都是后缀数组(难看) 可能是因为我太弱了所以只想到SAM的算法 做法:建立SAM,求出parent树,预处理倍增,让后就可以O(lg n)查询一个字串的出现次数了 接下来,我们对于每个l∈[1,n],我们求出一个最小的r使得[l,r]在整个串里面只出现一次 那么对于每个点i,ans[i]有两种情况: 1.i被一个最短的区间[lj,

扩展の灰(Extended Ash/Cooevjnz) 479
上一篇: Jzoj3590 珠链
下一篇: Jzoj5317 Func
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值