20140820 【第七届湖南省省赛】 RMQ with Shifts
来源:互联网 发布:淘宝联盟分享到微信 编辑:程序博客网 时间:2024/05/23 22:09
题目链接:http://oj.cs203.net/problem.php?id=1298
#include <stdio.h>#include <algorithm>using namespace std;#define MAXN 100010#define INF 0x7FFFffffint sum[MAXN<<3], sign[MAXN<<3];int n, m;int a[MAXN];inline void up_push(int rt){sum[rt] = min(sum[rt<<1], sum[rt<<1|1]);}void build(int rt, int l, int r){if( l==r ){ sum[rt] = a[l];return ;}int mid = (l+r)>>1;build(rt<<1, l, mid);build(rt<<1|1, mid+1, r);up_push(rt);}void update(int rt, int l, int r, int x, int v){if( l==r ){sum[rt] = v;return ;}int mid = (l+r)>>1;if( x<=mid )update(rt<<1, l, mid, x, v);elseupdate(rt<<1|1, mid+1, r, x, v);up_push(rt);}int getsum(int rt, int l, int r, int x, int y){if( x<=l && r<=y )return sum[rt];int mid=(l+r)>>1, r1=INF, r2=INF;if( x<=mid )r1 = getsum(rt<<1, l, mid, x, y);if( mid<y ) r2 = getsum(rt<<1|1, mid+1, r, x, y);return min(r1, r2);}int main(){char s[10], ch;int x, y;while( 2==scanf("%d %d\n", &n, &m) ){for(int i=1; i<=n; i++)scanf("%d", &a[i]);build(1, 1, n);while( m-- && 1==scanf("%6s", s) ){if( 'q'==s[0] ){scanf("%d,%d)", &x, &y);printf("%d\n", getsum(1, 1, n, x, y));}else{int pre=0, now=0, tmp;for(int i=1; ; i++){scanf("%d%c", &now, &ch);if( pre ){ update(1, 1, n, pre, a[now]); swap(a[pre], a[now]);}else{ pre=now; tmp=a[now];}pre = now;if( ')'==ch )break;}update(1, 1, n, pre, tmp);}}}return 0;}
0 0
- 20140820 【第七届湖南省省赛】 RMQ with Shifts
- 湖南省第七届程序设计竞赛 RMQ with Shifts
- 第七届福建省赛RMQ with Shifts
- 2011ACM湖南省省赛K题 RMQ with Shifts
- 湖南省第七届大学生计算机程序设计竞赛 RMQ with Shifts (线段树)
- 湖南省赛七 RMQ with Shifts 裸的线段树
- (线段树)湖南省第八届ACM省赛 RMQ with Shifts
- uva_12299 RMQ with Shifts
- RMQ with Shifts
- RMQ with Shifts
- 12299 - RMQ with Shifts
- uva12299 RMQ with Shifts
- RMQ with Shifts
- RMQ with Shifts
- uva12299 RMQ with Shifts
- RMQ with Shifts
- uva12299(RMQ with Shifts)
- 12299 - RMQ with Shifts
- [Phonegap+Sencha Touch] 移动开发30、phonegap的camera插件的几个问题
- 在网页上调用桌面exe程序
- C++四种转换
- Spring MVC HelloWorld-Controller
- 黑马程序员----关于死锁的问题
- 20140820 【第七届湖南省省赛】 RMQ with Shifts
- 循环小数
- Eclipse安装JD-Eclipse反编译插件
- Android学习——ActivityManager与Proxy模式的运用
- CFNetwork的错误代码参考
- swift之异步加载图片的tableview
- Jobdu 题目1448:Legal or Not
- java零碎知识点
- AFNetworking 与 UIKit+AFNetworking 详解