poj2528 Mayor's posters(线段树,离散化)

ZEMAX学习第7天-手机镜头光学系统设计全过程案例 接下来对系统微调,依次缩小CRA和畸变,首先对CRA进行依次递减(39°、38°、37°、36°、35°),目前CRA角度40度,每次下降一度进行优化,利用MAXX加OPLT一起控制,控制小于35°。可以看出在标注的三个地方镜头曲率变化,导致PY=1的光线走向奇特,因此需要对矢高进行调整,按照标注的地方依次调整(从右到左)至传函变好,越靠近右边对其余视场影响越小。3.圆锥系数值较大,透镜形状怪异;一、第1,3镜子偏厚,第4镜子偏薄,45镜子间隔边缘偏小,第5片镜子中心厚度与边缘厚度相差较大,需要控制; 阅读详情
离散化的思想:
对于这样的数据
(3,10000),
(9,1000000),
(5,100000),
(1,1000),
(7,1000000)
我们可以将其处理为
(2,7),
(5,9),
(3,8),
(1,6),
(4,9)

我们再对离散化之后的数据进行处理就行了。
题目意思:

n(n<=10000)个人依次贴海报,给出每张海报所贴的范围li,ri(1<=li<=ri<=10000000)。

求出最后还能看见多少张海报。

参考代码:
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
const int MAXN = 10000+5;
struct Node{
	int l,r;
	int c;
}tree[14*MAXN];	//线段树
struct Seg{
	int l,r;
}s[MAXN];	//存储报纸的范围
struct Seg2{
	int p;
	int index;
}a[2*MAXN];	//存放端点信息
bool cmp(Seg2 x,Seg2 y){
	return x.p<y.p;
}
int color[2*MAXN];
int ans=0;
void build(int node,int l,int r){
	tree[node].l=l,tree[node].r=r,tree[node].c=0;
	if (l==r) return;
	build(node*2,l,(l+r)/2);
	build(node*2+1,(l+r)/2+1,r);
}
void update(int node,int l,int r,int v){
	//cout<<l<<" "<<r<<endl;
	if (tree[node].l>=l && tree[node].r<=r){
		tree[node].c=v;
		return;
	}
	if (tree[node].c>0){
		tree[2*node].c=tree[2*node+1].c=tree[node].c;
		tree[node].c=0;
	}
	int mid=(tree[node].l+tree[node].r)/2;
	if (r<=mid)
		update(2*node,l,r,v);
	else if (mid<l)
		update(2*node+1,l,r,v);
	else{
		update(2*node,l,mid,v);
		update(2*node+1,mid+1,r,v);
	}
}
void count(int node){
	if (tree[node].c>0){
		if (color[tree[node].c]==0){
			ans++;
			color[tree[node].c]++;
		}
		return;
	}
	if (tree[node].l==tree[node].r)
		return;
	count(2*node);
	count(2*node+1);
}
void solve(int n,int t){
	build(1,1,t);
	//cout<<"--------"<<endl;
	for (int i=1;i<=n;i++){
		update(1,s[i].l,s[i].r,i);
		//cout<<"123456789\n";
	}
	ans=0;
	memset(color,0,sizeof(color));
	count(1);
	printf("%d\n",ans);
}
int main(){
	int t,n;
	scanf("%d",&t);
	while (t--){
		scanf("%d",&n);
		for (int i=1;i<=n;i++){
			scanf("%d%d",&s[i].l,&s[i].r);
			a[2*i-1].p=s[i].l;
			a[2*i-1].index=i;	//标记为左端点
			a[2*i].p=s[i].r;
			a[2*i].index=-i;	//标记为右端点
		}
		sort(a+1,a+2*n+1,cmp);
		//数据离散化
		int t=1;
		int tmp=a[1].p;
		for (int i=1;i<=2*n;i++){
			if (tmp!=a[i].p){
				tmp=a[i].p;
				t++;
			}
			if (a[i].index>0)
				s[a[i].index].l=t;
			else
				s[-a[i].index].r=t;
		}
		/*
		for (int i=1;i<=n;i++){
			printf("%d %d\n",s[i].l,s[i].r);
		}
		*/
		solve(n,t);
	}
	return 0;
}

YOLO26改进 - C2PSA | C2PSA融合DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力 本文介绍了 DiffCLIP,一种将差分注意力机制集成到 CLIP 架构的视觉 - 语言模型,并将其应用于 YOLO26。差分注意力机制通过计算两个互补注意力分布的差值,抵消无关信息干扰。单头差分注意力将 Q 和 K 拆分,分别计算注意力分布后做差值融合;多头差分注意力则每个头独立执行差分操作后聚合输出。关键参数 λ 可动态调控噪声抵消强度。我们将 DiffAttention 代码集成到 YOLO26 中,替换原有模块。实验表明,改进后的 YOLO26 在图像 - 文本理解任务中表现出色。 阅读详情

相关推荐

图像质量评估(5) -- 畸变(Distortion)

当图像中原本应该是直线的地方看起来发生了不自然的变形或扭曲时,我们称为图像畸变。有三种类型的镜头畸变:桶形畸变(后文使用英文barrel),枕形畸变(后文使用pincushion)和胡子畸变(后文使用英文wavef或mustache,这种畸变里包含了桶形畸变和枕形畸变)。有一个重要的点需要注意,根据透镜的类型以及透镜是否能够从相机中移除等条件不同,畸变会有不同的表现。 总的来说,旋转对称光学系统功能上会产生和物体几何相似的图形。但也有少数特殊的系统是例外,例如鱼眼镜头,这种镜头几何是故意设计为

vivo01的专栏 2万+

POJ.2528 Mayor's posters (线段树 区间更新 区间查询 离散化)

POJ.2528 Mayor’s posters (线段树 区间更新 区间查询 离散化)题意分析贴海报,新的海报能覆盖在旧的海报上面,最后贴完了,求问能看见几张海报。最多有10000张海报,海报左右坐标范围不超过10000000。 一看见10000000肯定就要离散化了,因为建树肯定是建不下。离散化的方法是:先存到一个数组里面,然后sort,之后unique去重,最后查他离散化的坐标lower_bo

Pengwill's Blog 332

基于云平台的ATS系统微服务架构方案研究

在当前智慧地铁的升级转型过程中,城市轨道交通ATS系统面临着稳定性差、运维方 式繁琐和故障应急处理效率低等问题。为此,提出一种基于云平台的ATS系统微服务架构方案; 研究了ATS系统在云平台上的微服务总体架构、ATS应用的微服务划分和设计、容器部署方式 及通信交互模式,可实现系统松耦合和易扩展,达到节约计算资源、提高系统稳定性和运营效 率的目的

mi_lan1的博客 966

POJ 2528 Mayor's posters 线段树+离散化

Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city counci

MetalSeed 4791

无网络环境部署:手动获取并安装OneNote for Windows 10完整指南

本文提供了一份详尽的OneNote for Windows 10离线安装指南。针对无网络或内网隔离环境,详细介绍了如何从官方渠道获取正确的产品ID,利用第三方工具下载纯净的.appxbundle安装包,并解决系统兼容性与依赖框架问题。最后,通过PowerShell管理员命令完成安全部署,是IT管理员和高级用户在离线环境下部署UWP应用的实用参考。

loss4bartender的博客 495

OmniBox2.0.X版本 一站式影视订阅与多端播放平台文档

OmniBox 是一站式影视订阅与多端播放平台:你可以用 JS 或 Python 按 OmniBox 规范自建爬虫源,在后台把多个爬虫源自由组合成订阅,然后在网页、手机、电视等全平台的客户端里使用。只要客户端支持 TVBox、猫源、UZ、Emby 等协议,即可无缝对接。同时支持电视直播源、六大平台直播间和网盘源视频在线观看,通过 Docker 一键部署。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1901

【离散化+线段树】POJ 2528 Mayor's posters

POJ 2528 Mayor’s posters 题意: 在一个长度为1e7的墙上贴海报。n(<=1e4)张海报贴上去,海报可能会出现覆盖,贴完所有的海报之后能看见多少张(能看见一部分也算)海报。给出的海报信息是从第一张到最后一张(也就是贴的顺序)。 思路: 首先海报的位置可以是1-1e7间的任意位置,所以我们需要离散化一下。 关于离散化: 1. 左右位置2n个数去重排序后,如果前后两...

L_X_ 235

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

1.新建shp文件地理坐标系保持和影像一致,面类型2.打开属性表3.添加字段这里分类6类,点击添加值添加添加完毕开始人工选地物类型,制作数据集开始标注,标注的时候可以借助谷歌地图来看标记足够多的样本打开面转栅格工具设置nodata值为15。

热爱分享,热爱记录 2524

POJ2528:Mayor's posters(线段树区间更新+离散化)

Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council

ACM!荣耀之路! 7869

家里摄像头录像存 NAS,空间爆满了怎么办?一招实现设定容量自动清理实现循环存储!

📷 家用摄像头录像久了会撑爆 NAS 吗?别担心,这篇文章教如何实现自动清理录像,释放 NAS 空间,避免爆盘🧹

XiaoqiangClub的博客 1882

【Java面试题汇总】JVM篇(2026版)

JVM内存模型、双亲委派模型、类加载机制、内存溢出、垃圾回收机制、内存泄漏、垃圾回收流程、垃圾回收器、G1、CMS、JVM调优

种一棵树最好的时间是十年前,其次是现在 3万+

poj 2528 Mayor's posters 线段树+离散化技巧

poj 2528 Mayor's posters 题目链接: http://poj.org/problem?id=2528 思路: 线段树+离散化技巧(这里的离散化需要注意一下啊,题目数据弱看不出来) 假设给出: 1~10 1~4 7-10 最后可以看见三张海报 如果离散化的时候不注意,就会变成 1 4 7 10(原始) 1 2 3 4 (离散化) 转化为: 1~4 1~2 3~4 这...

ddqb3235的博客 208

OpenClaw实战系列·进阶特辑02:多智能体协同——打造企业级AI中台

**企业级AI中台面临多Agent协同的挑战,本文提出基于多智能体协同的解决方案。通过分析单Agent的局限性(上下文溢出、专业度稀释等)和多Agent的核心优势(任务专注度、故障隔离等),提出三种协作架构模式(指挥型、联邦型、点对点型),并强调人格化设计的重要性。文章详细介绍Agent间通讯机制(同步/异步会话、文件系统协作)和"身脑分离"的解耦架构设计,提供可落地的企业级AI中台实施方案。

PeterPan的博客 493

poj 2528 Mayor's posters 线段树+离散化

题意: 有一个100000000长的墙,现在要到墙上贴一些海报,因为贴的时候可以覆盖所以问最后你可以看见多少张海报(不要求完整的海报,有一个部分没被覆盖那么 就认为可以看见这个海报) 其中海报最多10000张 海报有2个数据 它贴在墙上的左端点值l和右端点值r 其中 110000000 数据的输入格式  先给出 T 情况的种数,再给出每一种情况的海报数量N 然后给出N张海报的数据,ok,题意

柯安的专栏 1023

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

蓝牙模块HM-10手册

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

[poj 2528] Mayor's posters 线段树+离散化

Mayor’s posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 54922 Accepted: 15935Description The citizens of Bytetown, AB, could not stand that the candidates in the mayor

ATOD 613

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

离散化/线段树 (POJ - 2528 Mayor's posters)

题目链接 对于这个题,网上的很多题解对离散化的过程基本是一笔带过,本蒻苟看了很久才懂。现在在这详细讲一下这个题区间的离散化。 首先,看下面这个例子(几个区间): [1, 5] [2, 7] [8, 10] 在数组上表示: 这是咱们发现一个事实:对于这些区间,我们保留某些点的信息是没有意义的,比如:3,4,6,9。对于这些点,它们一直被包含在一个大区间里。所以,我们考虑把这些点压缩点,你可以想...

平凡人Kalzn的博客 1278

IMSL CNL 7.0.0 (x86-64)Crack

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

【线段树_离散化_染色问题】POJ 2528 Mayor's posters

POJ 2528 Mayor's posters 题意: 在一个长度为1e7的墙上贴海报。n(<=1e4)张海报贴上去,海报可能会出现覆盖,问:贴完所有的海报之后能看见多少张(能看见一部分也算)海报。给出的海报信息是从第一张到最后一张(也就是贴的顺序)。 思路: 线段树染色问题。 区间数据范围过大,离散化。【注意因为是区间,所以离散化的时候要注意两个数据是不是...

L_X_ 360

POJ 2528 Mayor's posters 线段树+离散化

传送门:POJ2528 题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报 思路:这题数据范围很大,直接搞超时+超内存,需要离散化: 离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012] 我们用不到[-∞,999][1001,1989][1991,1999][2001,2011][2013,+∞]这些值,所以我只需要1000,1990,

WA是一笔财富 239

POJ2528 Mayor's posters 线段树区间更新+离散化

题目链接:http://poj.org/problem?id=2528 题目大意:一个长度为10^7的墙上有n张海报,可能相互重叠,告诉你每张海报的宽度(高度都一样)和先后的叠放次序,问没有被完全盖住的海报有多少张(海报端点不会落在瓷砖中间)。 分析:如果每个叶子节点都代表一块瓷砖,那么线段树会导致MLE,即单位区间的数目太多。实际上,由于最多有1W张海报,共计2W个端点,这些

AC_Gibson的专栏 545

POJ 2528 Mayor's posters 线段树和离散化

POJ 2528 Mayor's posters线段树和离散化

NNDXNM的专栏 668

poj 2528 Mayor's posters 离散化+线段树

题目大意:        在某段区间上jia

LHYL 559

poj2528 Mayor's posters 线段树+离散化

题目链接在这里 题目大意: 在墙上贴海报,每张海报占据[l, r]区间,海报之间可能存在覆盖。问所有的海报贴完之后,能有几张海报可以被看到。 解题思路: 如果暴力扫一遍的话肯定会超时,所以应该用线段树。但是区间太大了,所以要考虑离散化。 普通的离散化有问题,这里参考了一位博主的博客进行离散化。 我一直RE,数组开打了4倍才AC的,如果有RE的同志记得开大数组试试。 代码如下: #...

Joel 230

POJ 2528 Mayor's posters 【离散化+线段树区间覆盖】

题目链接:http://poj.org/problem?id=2528 思路: 这里着重讲讲离散化的方式。离散化的方式是根据题目意思来选择的,不同的题目会有不同的离散化方式。 这里题目要求的是在n次区间覆盖过后,求没被覆盖的海报有多少个; 题目给出可能的区间多达 1e7 ,如果用线段树的区间覆盖就需要开 4倍的空间,因为题目给出的空间有限,直接就用线段树显然是不行的。 我们先从结果开始考虑...

Y390d的博客 376

poj 2528 Mayor's posters 【线段树 + 离散化】

Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 50643   Accepted: 14675 Description The citizens of Bytetown, AB, could not stand that the ca

世界很大 768
上一篇: hdu4565 So Easy!(矩阵快速幂)
下一篇: 线段树多lazy-tag(两个)
JinbaoSite0144
博客等级 码龄12年 231粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值