ARC B the median of the median

博客围绕序列a1,a2,……,an,探讨求其所有子串的中位数组成的序列的中位数。比赛时想到二分答案但验证无头绪,后通过求中位数比枚举答案小及以其为中位数的子串个数判断答案。实现时将数赋值,问题转换为逆序对问题,用线段树可解,效率约O(nlog^2(n))。

题目

题目的意思是对于序列a1,a2,……,an,求其中所有子串的中位数组成的序列的中位数。

1.在比赛的时候想到了二分答案,但是对于如何进行验证完全没有头绪

2.二分答案,对于每个枚举的答案数,求中位数比他小的字串的个数和以其为中位数的字串的个数,就可以通过和n*(n-1)/2+1比较判断该数是不是答案

3.实现:将所有>所验证数的答案全都赋值成1,所有<=验证数的答案全都赋值成-1,求前缀和,可见一对i、j满足sum[i]-sum[j]<0即代表一个中位数比验证数小的字串,故问题转换成求逆序对的问题,用线段树可解,效率大概为O(nlog^2(n))

#include<iostream>
#include<stdio.h> 
#include<algorithm>
#include<string.h>
#include<math.h>
#include<queue>
#include<map>
#include<stack>
#define go(i,a,b) for (int (i)=(a);(i)<=(b);(i)++)
#define ll long long
#define N 100005
using namespace std;

ll a[N],a1[N],b[N],n,sum,t[N*8];
void insert(int k, int l, int r, int pos){
	if (l>pos||r<pos) return;
	if (l==r&&r==pos){
		t[k]++;
		return;
	}
	ll m=(l+r)/2;
	insert(k*2,l,m,pos);insert(k*2+1,m+1,r,pos);
	t[k]=t[k*2]+t[k*2+1];
};
ll query(int k, int l, int r, int left, int right){
	if (l>right||r<left){
		return 0;
	}
	if (left<=l&&r<=right){
		return t[k];
	}
	ll m=(l+r)/2;
	return query(k*2,l,m,left,right)+query(k*2+1,m+1,r,left,right);
}

bool check(ll mdi){
	ll maxn=N;
	b[0]=N;
	go(i,1,n){
		if (a[i]>mdi) b[i]=b[i-1]+1;
		else b[i]=b[i-1]-1;
		maxn=max(maxn,b[i]);
	}
	memset(t,0,sizeof(t));
	ll tot=0;
	insert(1,1,maxn,N);
	go(i,1,n){
		tot+=(b[i]==maxn?0:query(1,1,maxn,b[i]+1,maxn));
		insert(1,1,maxn,b[i]);
	}
	return (tot>=n*(n+1)/2/2+1);
}

/*
用这个可以直接求的是中位数肯定比这个数小的1 2 3 4  


*/

ll doit(){
	ll l=1,r=sum;

	while (l!=r){
		ll m=(l+r)/2;
		if (check(a1[m])){
			r=m;
		}
		else {
			l=m+1;
		}
	}
	
	return a1[l];
}
int main(){
		scanf("%d",&n);
		go(i,1,n){
			scanf("%d",&a[i]);
			a1[i]=a[i];
		}
		sort(a1+1,a1+1+n);
		sum=0;
		go(i,1,n){
			if (i==1||a1[i-1]!=a1[i])sum++;
			a1[sum]=a1[i];
		}
		ll ans=doit();
		printf("%lld\n",ans);
}

线段树

基于TROPOMI高光谱遥感仪器获取的大气成分观测资料,本研究聚焦于大气污染物一氧化氮(NO₂)的空间分布与浓度定量反演问题。NO₂作为影响空气质量的关键指标,其精确监测对环境保护与大气科学研究具有显著价值。当前,利用卫星遥感数据结合先进算法实现NO₂浓度的高精度反演已成为该领域的重要研究方向。 本研究构建了一套以深度学习为核心的技术框架,整合了来自TROPOMI仪器的光谱辐射信息、观测几何参数以及辅助气象数据,形成多维度特征数据集。该数据集充分融合了不同来源的观测信息,为深入解析大气中NO₂的时空变化规律提供了数据基础,有助于提升反演模型的准确性与环境预测的可靠性。 在模型架构方面,项目设计了一种多分支神经网络,用于分别处理光谱特征与气象特征等多模态数据。各分支通过独立学习提取代表性特征,并在深层网络中进行特征融合,从而综合利用不同数据的互补信息,显著提高了NO₂浓度反演的整体精度。这种多源信息融合策略有效增强了模型对复杂大气环境的表征能力。 研究过程涵盖了系统的数据处理流程。前期预处理包括辐射定标、噪声抑制及数据标准化等步骤,以保障输入特征的质量与一致性;后期处理则涉及模型输出的物理量转换与结果验证,确保反演结果符合实际大气浓度范围,提升数据的实用价值。 此外,本研究进一步对不同功能区域(如城市建成区、工业带、郊区及自然背景区)的NO₂浓度分布进行了对比分析,揭示了人类活动与污染物空间格局的关联性。相关结论可为区域环境规划、污染管控政策的制定提供科学依据,助力大气环境治理与公共健康保护。 综上所述,本研究通过融合TROPOMI高光谱数据与多模态特征深度学习技术,发展了一套高效、准确的大气NO₂浓度遥感反演方法,不仅提升了卫星大气监测的技术水平,也为环境管理与决策支持提供了重要的技术工具。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值