nyoj 华山论剑
来源:互联网 发布:战场概率射击 知乎 编辑:程序博客网 时间:2024/04/28 04:51
#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#define maxn 300100int n,m;int l,r,x;int a[maxn],tr[maxn * 4];void update(int l,int r,int id,int ll,int rr){ if(tr[id] == 1) return; // 为 1 说明这个区间都被击败了,就不用更新了 if(l == r) { if( tr[id] == 0 && l == ll && l != x) { tr[id] = 1; a[l] = x; // printf(" %d %d\n",id,a[id]); } return ; } int mid = (l + r) / 2; if( mid >= rr) update(l, mid, id * 2, ll, rr); else if( mid < ll) update(mid+1, r, id * 2 + 1 , ll, rr); else { update(l, mid, id * 2, ll, mid ); update(mid+1, r, id * 2 + 1, mid + 1, rr); } tr[id] = tr[id*2] && tr[id*2+1];}int main(){ while( ~scanf("%d%d",&n,&m)) { memset(a,0,sizeof(a)); memset(tr,0,sizeof(tr)); for(int i = 0; i < m; i ++) { scanf("%d%d%d",&l,&r,&x); update(1, n, 1, l, r); } for(int i = 1; i <= n; i ++) printf("%d ",a[i]); printf("\n"); } return 0;}
0 0
- NYOJ 华山论剑
- nyoj 华山论剑
- 华山论剑(nyoj 856)
- NYOJ 856 华山论剑(线段树)
- 华山论剑
- 华山论剑
- nyoj 856 华山论剑 (并查集or线段树区间点更新)
- 华山论剑:算法
- 杀毒的华山论剑
- 国内SNS市场“华山论剑”
- 中国SNS市场“华山论剑”
- b2b网站华山论剑
- 周赛G题 华山论剑
- 华山论剑- 乐杨俊
- 【转载】网络基础-华山论剑
- JAVA之华山论剑
- Nhibernate分析之华山论剑篇
- Nhibernate分析之华山论剑篇
- Memcache原理
- 每天一个小题目——小赛打车
- Java的日期与时间(八)java.util.TimeZone
- c++基础之多态
- 537. Complex Number Multiplication
- nyoj 华山论剑
- free函数用法小结
- mysql 用户管理
- Tree—Unique Binary Search Trees
- /var/log目录下的20个Linux日志文件功能详解
- NBUT 台球碰撞
- opencv的安装和配置
- CentOS 7 安装MySQL 5.7
- can you find it (二分)