UVA 12299 RMQ with Shifts(线段树)
来源:互联网 发布:glassfish java ee 编辑:程序博客网 时间:2024/05/15 05:38
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=400000+5;int l,r;struct Interval{ int minv[maxn]; void clear() {memset(minv,0,sizeof(minv));} void updata(int o,int L,int R,int v,int p) { if(L==R) {minv[o]=v;return ;} int mid=(L+R)/2; if(p<=mid) updata(o*2,L,mid,v,p); else updata(o*2+1,mid+1,R,v,p); minv[o]=min(minv[o*2],minv[o*2+1]); } int query(int o,int L,int R) { if(l<=L&&r>=R) return minv[o]; int mid=(L+R)/2; if(r<=mid) return query(o*2,L,mid); else if(l>mid) return query(o*2+1,mid+1,R); else return min(query(o*2,L,mid),query(o*2+1,mid+1,R)); } void debug(int o,int L,int R){ if(L==R) return ; int mid=(L+R)/2; debug(o*2,L,mid); debug(o*2+1,mid+1,R); }};Interval tree;int val[maxn],agus[30];char cmd[30];int main(){ int n,q; scanf("%d%d",&n,&q); tree.clear(); for(int i=1;i<=n;i++) {scanf("%d",&val[i]);tree.updata(1,1,n,val[i],i);} while(q--) { scanf("%s",cmd); memset(agus,0,sizeof(agus)); int k=0; for(int i=6;cmd[i];i++){ if(isdigit(cmd[i])) agus[k]=agus[k]*10+cmd[i]-'0'; else k++; } if(cmd[0]=='s'){ for(int i=0;i<k-1;i++){ int x=agus[i],y=agus[i+1]; tree.updata(1,1,n,val[y],x); tree.updata(1,1,n,val[x],y); swap(val[x],val[y]); } } else{ l=agus[0],r=agus[1]; printf("%d\n",tree.query(1,1,n)); } } return 0;}
0 0
- UVA 12299 - RMQ with Shifts 线段树
- UVA 12299 - RMQ with Shifts(线段树)
- uva 12299 - RMQ with Shifts(线段树)
- UVA 12299 RMQ with Shifts 线段树
- UVa 12299 RMQ with Shifts(线段树)
- UVA 12299 RMQ with Shifts(线段树)
- UVa 12299 - RMQ with Shifts 线段树 单点更新
- UVA 12299 RMQ with Shifts(线段树)
- UVa 12299 - RMQ with Shifts (简单线段树)
- 【UVA】12299-RMQ with Shifts(线段树)
- uva 12299 RMQ with Shifts (简单线段树)
- UVA 12299 RMQ with Shifts(线段树)
- UVA - 12299 RMQ with Shifts 线段树(点修改)
- uva 12299 - RMQ with Shifts--- 线段树单点更新
- UVA 12299 RMQ with Shifts(线段树+点更新)
- Uva-12299-RMQ with Shifts
- UVA 12299 RMQ with Shifts
- UVa:12299 RMQ with Shifts
- 我爱的小猴纸
- 主键、外键
- Dolly zoom滑动变焦
- Angular2学习心得
- 静态导入
- UVA 12299 RMQ with Shifts(线段树)
- HDU ACM 11 2076 夹角有多大(我的代码是AC不过去的、、但我还是要放,毕竟输出都对)
- Hadoop分布式集群搭建 (一 Centos7 环境准备)
- 数据表和JavaBean映射属性定义的问题
- 134. Gas Station 类别:贪心算法 难度:medium
- Hadoop分布式集群搭建(二)
- checkbox 全选和取消全选
- 关于js中数据类型的探讨,转载http://www.cnblogs.com/sharpxiajun/p/4133462.html
- Android 的轻量级orm、ioc快速开发框架(原生)