成功上车线段树,留个纪念

产业园区运营负责人如何实现创新资源的系统化配置?.docx 产业园区运营负责人如何实现创新资源的系统化配置? 立即下载

2021.8.16修改 直接把两大神树都搬过来吧

线段树

#include<iostream>
#include<cmath>
using namespace std;
const int N=2e5+10;
long long a[N],sub[N];
long long lz[N];
int n;
long long tree[N<<2];
 
inline long long query(int l,int r,int L,int R,int top);
 
 
inline long long gcd(long long  x,long long  y)
{
	while(y) y^=x^=y^=x%=y;
	return x;
}
inline long long read()
{
	long long ans=0;
	char c=getchar();
	while(c=='\n'||c==' ') c=getchar();
	while(c>='0'&&c<='9') ans=ans*10+c-'0',c=getchar();
	return ans;
}
inline long long myabs(long long z)
{
	if(z<0) return -z;
	else return z; 
}
inline bool check(int l)
{
	long long g,mx=0,x;
	for(int i=1;i<=n-l+1;i++)
	{
		g=query(i,i+l-2,1,n,1);
		mx=max(mx,g);
	}
	return mx>=2;
}
inline long long build(int l,int r,int top)
{
	if(l==r) return tree[top]=sub[l];
	int mid=l+r>>1;
	build(l,mid,top*2);
	build(mid+1,r,top*2+1);
	return tree[top]=gcd(tree[top*2],tree[top*2+1]);
}
inline long long query(int l,int r,int L,int R,int top)
{
	if(l==L&&r==R) return tree[top];
	int MID=L+R>>1;
	if(MID>=r) return query(l,r,L,MID,top*2);
	else if(MID+1<=l) return query(l,r,MID+1,R,top*2+1);
	else return gcd(query(l,MID,L,MID,top*2),query(MID+1,r,MID+1,R,top*2+1));
}
int main()
{
	int t;
	t=read();
	while(t--)
	{
		n=read();
		for(int i=1;i<=n;i++) a[i]=read();
		
		
		for(int i=2;i<=n;i++) sub[i-1]=myabs(a[i]-a[i-1]);
		
		
		build(1,n,1);
		int l=1,r=n,mid=l+r+1>>1;
		while(l<r)
		{
			if(check(mid)) l=mid;
			else r=mid-1;
			mid=l+r+1>>1;
		}
		printf("%d\n",l);
	}
}

主席树

#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;

const int N=100010;

struct Node{
int l,r;
int cnt;
}tr[N*4+N*17];

vector <int> num;
int a[N],idx,root[N];

int finx(int x)
{
    return lower_bound(num.begin(),num.end(),x)-num.begin();
}

int intree(int p,int l,int r,int x)
{
    int q=++idx;
    tr[q]=tr[p];
    if(l==r)
    {
        tr[q].cnt++;
        return q;
    }
    int mid=l+r>>1;
    if(x<=mid) tr[q].l=intree(tr[p].l,l,mid,x);
    else tr[q].r=intree(tr[p].r,mid+1,r,x);
    tr[q].cnt=tr[tr[q].l].cnt+tr[tr[q].r].cnt;
    return q;
}

int build(int l,int r)
{
    int p=++idx;
    if(l==r) return p;
    int mid=l+r>>1;
    tr[p].l=build(l,mid);
    tr[p].r=build(mid+1,r);
    return p;
}

int quary(int p,int q,int l,int r,int k)
{
    if(l==r) return l;
    int cnt=tr[tr[q].l].cnt-tr[tr[p].l].cnt;
    int mid=l+r>>1;
    if(cnt>=k) return quary(tr[p].l,tr[q].l,l,mid,k);
    else return quary(tr[p].r,tr[q].r,mid+1,r,k-cnt);
}

int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",a+i);
        num.push_back(a[i]);
    }
    sort(num.begin(),num.end());
    num.erase(unique(num.begin(),num.end()),num.end());
    root[0]=build(0,num.size()-1);
    for(int i=1;i<=n;i++)
        root[i]=intree(root[i-1],0,num.size()-1,finx(a[i]));
    while(m--)
    {
        int l,r,k;
        scanf("%d%d%d",&l,&r,&k);
        printf("%d\n",num[quary(root[l-1],root[r],0,num.size()-1,k)]);
    }
}


这不是一棵树,但还是想拿过来作为cf冲蓝的纪念

#include<iostream>
#include<cmath>
using namespace std;
const int N=100010;
int fa[2][N];
int ans[N][2],cnt;
int hub[2][N];
int find(int k,int x)
{
    if(x!=fa[k][x]) return fa[k][x]=find(k,fa[k][x]);
    return x;
}
void link(int k,int x,int y)
{
    int p=find(k,x);
    int q=find(k,y);
    if(p>q) swap(p,q);
    fa[k][q]=p;
}
int main()
{
    int n,m1,m2;
    cin>>n>>m1>>m2;
    for(int i=1;i<=n;i++) fa[0][i]=fa[1][i]=i;

    for(int i=1;i<=m1;i++)
    {
        int x,y;
        scanf("%d%d",&x,&y);
        link(0,x,y);
    }
    for(int i=1;i<=m2;i++)
    {
        int x,y;
        scanf("%d%d",&x,&y);
        link(1,x,y);
    }
    for(int i=2;i<=n;i++)
    {
        if(find(0,i)!=1&&find(1,i)!=1)
        {
            ans[++cnt][0]=1;
            ans[cnt][1]=i;
            link(0,1,i);
            link(1,1,i);
        }
    }
    int cnt1_0=0,cnt0_1=0;
    for(int i=1;i<=n;i++) if(find(0,i)==1&&find(1,i)!=1) hub[0][++cnt1_0]=i;
    for(int i=1;i<=n;i++) if(find(0,i)!=1&&find(1,i)==1) hub[1][++cnt0_1]=i;
    hub[0][0]=1;
    hub[1][0]=1;
    while(hub[0][0]<=cnt1_0&&hub[1][0]<=cnt0_1)
    {
        link(0,hub[0][hub[0][0]],hub[1][hub[1][0]]);
        link(1,hub[0][hub[0][0]],hub[1][hub[1][0]]);
        ans[++cnt][0]=hub[0][hub[0][0]];
        ans[cnt][1]=hub[1][hub[1][0]];
        while(hub[0][0]<=cnt1_0&&!(find(0,hub[0][hub[0][0]])==1&&find(1,hub[0][hub[0][0]])!=1))
        hub[0][0]++;
        while(hub[1][0]<=cnt0_1&&!(find(0,hub[1][hub[1][0]])!=1&&find(1,hub[1][hub[1][0]])==1))
        hub[1][0]++;
    }

    cout<<cnt<<endl;
    for(int i=1;i<=cnt;i++)
    {
        printf("%d %d\n",ans[i][0],ans[i][1]);
    }
}

状态估计【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现) 【状态估计】【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现)内容概要:本文主要介绍了基于变频控制的多相交错LLC谐振变换器闭环仿真研究,重点探讨了多相交错并联技术在降低输出电流纹波和提升功率容量方面的优势,分析了交错角对纹波抵消的影响以及均流问题的成因。针对变频控制带来的非线性特性,文章采用扩展描述函数(EDF)建立小信号模型,用于指导PID控制器的设计,并验证其在稳态和动态工况下的控制性能。通过Simulink仿真平台对闭环系统进行建模与测试,考察了启动过程、负载阶跃响应及频率调节的平滑性,结果表明所设计的控制系统具有良好的稳态精度和动态响应能力。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生及从事电源系统研发的工程技术人员。; 使用场景及目标:①掌握多相交错LLC谐振变换器的工作原理与建模方法;②学习变频控制下非线性系统的建模与PID环路设计技巧;③应用于高效率、低纹波开关电源的仿真设计与优化。; 阅读建议:建议结合文中提供的仿真模型与参数设置进行实践操作,重点关注EDF建模过程与控制器参数整定方法,通过对比不同交错角下的仿真结果加深对纹波抑制机理的理解。 立即下载

相关推荐

【低轨】Starlink星链-Ku波段OFDM信号同步机制与PNT应用潜力

本文深入解析了Starlink星链Ku波段OFDM信号的同步机制及其在定位、导航与授时(PNT)领域的应用潜力。研究发现,其信号帧内嵌的同步序列具有相位恒定特性,支持超长相干积分,可在极低信噪比下实现高精度伪距测量,为利用低轨卫星通信信号实现高精度PNT服务提供了新的技术路径。

weixin_29250403的博客 730

河南省第十一届ACM大赛心得——菜鸡的自述

(这篇文章在我博客的私密文章里躺了快一年,2333我之前怎么这么矫情,现在决定还是发出来,纪念一下一年前的迷茫的自己。嗯,我坚持下来了) 去比赛之前,我就一直在想会是什么样的结果,结束后会是什么样的心情。 现在比赛结束已经一天了,回想这两天的经过,我还是很感慨,很伤心…… 记录一下,发泄负能量一下,反正又不会有人看见…… 5.25号晚 马上要出发了,紧张?兴奋?焦虑?害怕?这是我目前准备...

m0_37579232的博客 1582

neruolib全脑建模计算框架

neurolib 是一个用python编写的全脑建模计算框架,也是可扩展的、允许轻松实现自定义神经质量模型,能够在介观尺度上表示脑区平均活动。

Rootfyx的博客 1149

APIO2018酱油记

对于我这种各类比赛都围观吃瓜的群众(都不能叫选手),居然误打误撞的来参加APIO2018,当然是来打酱油的。 和我一起的还有两位前辈大佬(DraZxlNDt和Jeff),无限Orz%%%%%%。 就是打酱油,也算是一场人生经历吧,简要记述一下吧。 Day0 报到日。(2018.5.10) 早上SCMY还有点下雨,从学校寝室起来,偷偷溜出校门,坐上车回家收拾了东西,8:20就来到了机场...

TimeTraveller-VictoryCzt 681

(头歌作业)—6.1 葡萄酒评论分析报告(project)

请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。

2301_80677920的博客 1246

数据库mysql课程设计

#include<stdio.h> #include<string.h> #include"mysql.h" #include<stdlib.h> #include<math.h> #include<iostream> #include<string> using namespace std; #define _HOST_ "127.0.0.1" #define _DB_ "db1" char _USER_[30]; char _P

Hello_wcrd的博客 2万+

2023最新扫码连wifi-扫码挪车-聚合CPS返利多合一小程序源码

2023最新扫码连wifi-扫码挪车-聚合CPS返利多合一系统 系统特点: 目前已接入的 CPS 渠道: 充值:话费充值、电费充值、影视会员充值、会员卡券充值 本地团购:联联周边游 电商平台:京东、拼多多、唯品会、淘宝、抖音美团:外卖、闪购、酒店、到店、优选饿了么:外卖、商超 出行服务:滴滴打车、滴滴加油、滴滴货运、花小猪打车、高德打车、同程打车 连锁餐饮点餐:肯德基、麦当劳、百果园、奈雪的茶、瑞幸咖啡、星巴克、喜茶、汉堡王、必胜客电影票:特价电影票 注意:以上涉及到需要支付的 CPS 渠道,不需要预存!

qq_41837379的博客 3112

c++文件写入模板

#include<ctime> #include<fstream> #include<string> #include<sstream> #include<iostream> using namespace std; int main() { int t; t=20; unsigned seed; seed=time(0); srand(seed); while(t--) { ofstream file; ostringst

Hello_wcrd的博客 903

使用 Simulink 进行电力电子系统的大信号模型仿真

电力电子系统(Power Electronics System)包括各种功率转换器(如 DC-DC 转换器、逆变器等)。这些设备中的关键组件(如 MOSFET、IGBT、电容器、电感器等)不仅影响系统的性能,还直接关系到系统的稳定性、效率和可靠性。因此,在设计阶段进行详细的建模和仿真至关重要。大信号模型仿真的目的是通过模拟系统在非线性条件下的真实行为,评估其瞬态响应、稳态性能以及对不同负载和输入电压变化的响应。通过本教程,我们介绍了如何使用 Simulink 进行电力电子系统的大信号模型仿真。背景介绍。

xiaoheshang_123的博客 305

使用 Simulink + Simscape Electrical 对锂电池储能系统的充放电管理策略进行建模与仿真

摘要:本文详细介绍了基于Simulink的锂电池储能系统充放电管理策略建模与仿真方法。重点阐述了系统结构设计、建模过程(包括锂电池模型、充放电控制器、热管理系统等模块搭建)以及仿真设置。通过分析荷电状态管理、温度控制和功率限制等核心要素,展示了如何实现安全高效的充放电策略。仿真结果可验证系统性能,为优化管理策略提供依据。该方法为新能源存储和智能电网应用提供了实用的仿真分析工具。

amy_mhd的博客 159

估计是2022写的最多的代码了吧

蓝桥杯4.9 仅留念用(似乎这一天带有很多色彩不是吗) #include<iostream> using namespace std; const int N= 200010; long long a[N]; long long qz[N]; int main() { int n; cin>>n; long long ans=0; for(int i=1;i<=n;i++) scanf("%d",a+i); for(int i=1;i<=n;i++) qz[.

Hello_wcrd的博客 603

作物生长模型Oryza V3实战9:控制文件参数详解

control.dat是ORYZA水稻模型的核心配置文件,主要包含三部分:1)基础参数设置与模拟时间定义;2)关键文件路径配置,包括土壤参数文件(soil.sol)、作物参数文件(cultivar.crp)、田间管理文件(manage.exp)及气象数据目录,同时指定输出结果文件(res.dat)和运行日志(model.log);3)可选参数和输出控制选项。该文件通过关联各类输入数据(气象、土壤、品种特性等)和输出结果,实现模型运行的全流程控制,支持参数调整后继续模拟和中断恢复功能。

221

笛卡尔树儿

键值二元组(u,v) 笛卡尔树有以下性质 u满足二叉搜索树的性质 v满足堆性质 中序遍历得原序列 /*input 11 9 3 7 1 8 12 10 20 15 18 5 */ #include<iostream> using namespace std; const int N=100; int a[N]; int ls[N],rs[N],st[N],top=0; int main() { int n; cin>>n; for(int i=1;i<=

Hello_wcrd的博客 541

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

树状数组区间修改求和

/*input 10 7 3 2 4 8 8 7 8 4 8 10 1 1 7 1 1 3 1 6 10 1 5 6 2 1 2 2 1 5 6 1 5 6 */ #include<iostream> using namespace std; const int N=1e7+10; const int mod=998244353; bool p[N]; int prime[N],s[N],cp; long long tree[4][N]; int lowbit(int x){return x&a

Hello_wcrd的博客 520

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

E - Bin Packing Problem

E - Bin Packing Problem Lzw is having the Operations Research class now. Today the teacher is talking about the bin packing problem and some approximation algorithms to solve it. In the bin packing problem, items of different volumes must be packed into a

Hello_wcrd的博客 477

c++程序计时

/*input */ #include<iostream> #include<ctime> using namespace std; int main() { clock_t startTime,endTime; startTime = clock();//计时开始 //printf("%ld\n",__STDC_VERSION__); long long a,b=0; for(long long a=1;a<=1e10;a++,b++); endTime = c

Hello_wcrd的博客 432

Codeforces Round #751 (Div. 2) D. Frog Traveler

D. Frog Traveler time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output Frog Gorf is traveling through Swamp kingdom. Unfortunately, after a poor jump, he fell into a well of n meters depth. Now Gorf i

Hello_wcrd的博客 427

E. Monsters (hard version)

这调试的代码成功让他上了个百行,炸裂,感觉有一次可以解的算法,懒得想了,线段树+树状数组你俩辛苦下搁着磨吧。离开集训队好长时间了,也很长时间没有碰这些代码了,最近觉得码力掉了很多,决定操练起来。ps 这bug调的整个人裂开,一瓶酒一包烟,一个算法写一天。

Hello_wcrd的博客 392

st表查询区间最大最小值

数据结构

Hello_wcrd的博客 348

P2345 [USACO04OPEN]MooFest G

归并排序+分治 #include<iostream> #include<algorithm> using namespace std; long long ans=0; long long qz[20010]; struct bill{ int v,s; }b[20010],tmp[20010]; bool cmp1(bill &a,bill &b){return a.v<b.v;} void solve(int l,int r) { if(l==r)

Hello_wcrd的博客 298

2021-10-16最大公约数

给定两个正整数 a,m,其中 a<m 。 请你计算,有多少个小于 m 的非负整数 x 满足: gcd(a,m)=gcd(a+x,m) 输入格式 第一行包含整数 T ,表示共有 T 组测试数据。 每组数据占一行,包含两个整数 a,m 。 输出格式 每组数据输出一行结果,一个整数,表示满足条件的非负整数 x 的个数。 数据范围 前三个测试点满足,1≤T≤10 。 所有测试点满足,1≤T≤50,1≤a<m≤1010 。 输入样例: 3 4 9 5 10 42 9999999967 输出样例: 6 1

Hello_wcrd的博客 284

ucore 操作系统os first-fit 算法实现

【代码】ucore 操作系统os first-fit 算法实现。

Hello_wcrd的博客 270

ucore 内核线程创建

复制原进程的内存管理信息到新进程(但内核线程不必做此事)调用alloc_proc,首先获得一块用户信息块。复制原进程上下文到新进程。为进程分配一个内核栈。将新进程添加到进程列表。

Hello_wcrd的博客 253

E1. Asterism(easy&hard)

E1. Asterism (Easy Version) time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output This is the easy version of the problem. The difference between versions is the constraints on n and ai . You can make

Hello_wcrd的博客 251
上一篇: Flip Game
下一篇: C - Count Triangles
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值