简单线段树。。。
区间更新
/*
线段树+修改区间+询问区间
update是把某个区间ab的数改为c
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<vector>
#include<map>
#include<math.h>
typedef long long ll;
//typedef __int64 int64;
const int maxn = 300005;
const int maxm = 1005;
const int inf = 0x7FFFFFFF;
const double pi = acos(-1.0);
const double eps = 1e-8;
using namespace std;
#define LEFT( x ) (x<<1)
#define RIGHT( x ) ((x<<1)+1)
struct node{
int l,r,win;
int flag;
}tree[ maxn<<2 ];
struct QQ{
int x,y;
int win;
}a[ maxn ];
void pushdown( int n ){
if( tree[ n ].flag!=0 ){
tree[ LEFT( n ) ].flag = tree[ RIGHT( n ) ].flag = tree[ n ].flag;
tree[ LEFT( n ) ].win = tree[ n ].win;//tree[ n ].flag*((m+1)/2);
tree[ RIGHT( n ) ].win = tree[ n ].win;//tree[ n ].flag*( m-(m+1)/2 );
tree[ n ].flag = 0;
}
return;
}
void build( int l,int r,int n ){
if( l==r ){
tree[ n ].win = 0;
tree[ n ].flag = 0;
tree[ n ].l=tree[ n ].r = l;
return ;
}
tree[ n ].win = 0;
tree[ n ].flag = 0;
tree[ n ].l = l;
tree[ n ].r = r;
int mid;
mid = (l+r)>>1;
build( l,mid,LEFT( n ) );
build( mid+1,r,RIGHT( n ) );
return;
}
void update( int a,int b,int c,int l,int r,int n ){
if( a==l&&b==r ){
tree[ n ].flag = 1;
tree[ n ].win = c;
//printf("l = %d,r = %d\nc = %d\n",l,r,c);
return ;
}
pushdown( n );
int mid;
mid = (l+r)>>1;
if( mid>=b ) update( a,b,c,l,mid,LEFT( n ) );
else if( mid<a ) update( a,b,c,mid+1,r,RIGHT( n ));
else {
update( a,mid,c,l,mid,LEFT( n ) );
update( mid+1,b,c,mid+1,r,RIGHT( n ) );
}
return ;
}
int query( int a,int b,int l,int r,int n ){
if( a==l&&b==r ){
//printf("l = %d, r = %d,c = %d\n",l,r,tree[n].win);
return tree[ n ].win;
}
pushdown( n );
int mid;
mid = (l+r)>>1;
if( mid>=b ) return query( a,b,l,mid,LEFT( n ) );
else if( mid<a ) return query( a,b,mid+1,r,RIGHT( n ));
else return query( a,mid,l,mid,LEFT( n ) )+query( mid+1,b,mid+1,r,RIGHT( n ));
}
int main(){
int n,m;
while( scanf("%d%d",&n,&m)==2 ){
for( int i=1;i<=m;i++ ){
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].win);
}
build( 1,n,1 );
for( int i=m;i>=1;i-- ){
if( a[i].win-1>=a[i].x ) update( a[i].x,a[i].win-1,a[i].win,1,n,1 );
if( a[i].y>=a[i].win+1 )update( a[i].win+1,a[i].y,a[i].win,1,n,1 );
}
int f = -1;
for( int i=1;i<=n;i++ ){
int ans = query( i,i,1,n,1 );
if( ans==i ) {
if(f==-1)printf("0"),f++;
else printf(" 0");
}
else {
if( f==-1 ) printf("%d",ans),f++;
else printf(" %d",ans);
}
}
printf("\n");
}
return 0;
}
分享到:
相关推荐
COMFAST品牌 CF-WU710N V2型号 USB无线网卡 驱动 亲测能用
标题 "CF-926AC.zip" 暗示我们关注的是一个与CF-926AC相关的软件或驱动程序的压缩文件。描述中的信息同样简单,只提到了文件本身的名称,没有提供额外的上下文。标签也一样,只复述了文件名,因此无法直接获取更多...
"七彩虹主板 CF-AF3-E v18 主板BIOS" 这个标题指的是一款特定的计算机硬件组件,即七彩虹品牌的主板,具体型号为CF-AF3-E,其BIOS版本为v18。BIOS(基本输入输出系统)是计算机启动时首先运行的固件程序,它负责初始...
七彩虹 CF-P8 MX 2.4A bios
标题中的"CF-Root-SGS3-v6.0.zip_CF-Root-SGS3-V6.0_ROOT"指的是一款针对三星Galaxy S3 (SGS3) 设备的root工具包,版本为6.0。这个工具包的主要目的是使用户能够获取设备的root权限。在Android操作系统中,root权限...
COMFAST CF-WU810N是一款常见的无线网卡,主要应用于个人电脑和小型网络环境,提供便捷的无线网络连接。在Linux操作系统中,设备驱动是连接硬件与系统的桥梁,对于无线网卡来说,合适的驱动程序是确保其正常工作的...
松下touchbook gps驱动程序注册表,电脑型号CF-H2
七彩虹cf-p8 mx 2.4a bios 测试可以正常使用
COMFAST CF-912AC USB无线网卡驱动,官方最新驱动,是连接电脑的必备组件,主要解决电脑无法识别问题,如果你有这款网卡,那就下载吧。参数品牌 COMFAST型号 CF-912AC类型 无线网卡接口 USB外置天线 无遵循标准 IEEE...
2. 解压缩文件,通常会得到一个.exe或.inf格式的安装程序。 3. 双击安装程序,按照提示进行操作,同意许可协议,选择安装路径,并等待安装完成。 4. 安装完成后,可能需要重启计算机,让新驱动生效。 5. 如果有两个...
标题中的“QCA953x-CF-E320编程器固件_uboot-qca953x”提到了两个关键元素:QCA953x和uboot-qca953x。QCA953x是高通公司(Qualcomm Atheros)推出的一款无线网络芯片,常用于路由器、接入点等设备。而“uboot”则是...
Comfast CF-WU810N是一款常见的无线网卡,主要设计用于在计算机上提供无线网络连接。在Linux操作系统中,设备驱动程序是至关重要的,因为它们允许操作系统与硬件进行通信。这款无线网卡在Linux上的驱动程序可能与...
Cf-worker-pages-vless脚本,默认支持Chatgpt,支持workers与pages两种形式部署
支持内核版本5.15.0-106-generic-自己修改 关联博客:https://blog.csdn.net/weixi234/article/details/139004986?spm=1001.2014.3001.5502
2.将您的nexus 5调整到bootloader模式,具体的办法是先关机,然后在关机的状态下,同时按住电源和音量下键。 3.通过USB将nexus 5和电脑相连接。 4.下载nexus 5对应的CF-Auto-Root版本 节约您的时间,下载地址呈上...
安装方法: 1、必须要有有线网卡能上网,因为安装的时候,它要下载字库什么的...2、解压双击install.pkg按提示安装即可,超级简单,如果成功了后,在任务栏上,就有wifi信号了。现在发文件,就是用无线发送的,很nice的
2. **获取驱动**:从可靠来源下载CF-WU810N的驱动程序压缩包,确保与自己的硬件型号匹配。 3. **解压文件**:使用解压缩工具打开rar文件,提取出驱动程序文件。 4. **打开系统资源库**:在Finder中,按下`Shift+...
《PyPI官网下载 | cf-plot-3.1.16.tar.gz——Python科学计算与可视化库解析》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的第三方Python库,使得开发者能够方便地下载和安装所需的模块...
CF WU760NL驱动是同型号150m无线网卡的最新驱动程序,CF WU760NL外置1根高增益天线,信号接收能力强,支持WPS加密,让你的网络使用更加安全,本款驱动适合xp/win7等系统,欢迎下载使用。COMFAST CF-WU760NL介绍...
【松下CF-18内置联通3G软件详解】 松下CF-18是一款专为军事和专业领域设计的坚固型笔记本电脑,以其强大的耐用性和适应性而闻名。这款设备配备了丰富的功能,其中包括对3G网络的支持,使其在偏远或无Wi-Fi的环境下...