hdu 1754 线段树
来源:互联网 发布:外链网盘源码 编辑:程序博客网 时间:2024/05/17 18:02
AC代码如下:
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;#define MAX 220000int Max[4*MAX];//注意这里int leftchild( int parent ){ return parent * 2;}int rightchild( int parent ){ return parent * 2 + 1;}void PushUp( int rt ){ Max[rt] = max( Max[leftchild(rt)], Max[rightchild(rt)] );}void built( int l, int r, int rt ){ if( l == r ){ scanf( "%d", &Max[rt] ); return; } int mid = ( l + r ) >> 1; built( l, mid, leftchild( rt ) ); built( mid + 1, r, rightchild( rt ) ); PushUp( rt );}void Updata( int id, int score, int L, int R, int rt ){ if( L == R ){ Max[rt] = score; return; } int mid = ( L + R ) >> 1; if( id <= mid ) Updata( id, score, L, mid, leftchild( rt ) ); else Updata( id, score, mid + 1, R, rightchild( rt ) ); PushUp( rt );}int query( int l, int r, int L, int R, int rt ){ if( l <= L && r >= R ){ return Max[rt]; } int mid = ( L + R ) >> 1; int ans = 0; if( l <= mid ) ans = max( ans, query( l, r, L, mid, leftchild( rt ) ) ); if( r > mid ) ans = max( ans, query( l, r, mid + 1, R, rightchild( rt ) ) ); return ans;}int main(){ int N, M; while( scanf( "%d%d", &N, &M ) != EOF ){ built( 1, N, 1 ); for( int i= 0; i < M; i++ ){ char s[10]; int temp1, temp2; scanf( "%s%d%d", s, &temp1, &temp2 ); if( s[0] == 'Q' ){ printf( "%d\n", query( temp1, temp2, 1, N, 1 ) ); }else{ Updata( temp1, temp2, 1, N, 1 ); } } } return 0;}
0 0
- hdu 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- 【线段树】hdu 1754
- hdu 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- HDU 1754 线段树
- HDU -1754线段树
- HDU 1754 线段树
- hdu 1754 线段树
- hdu 1754 线段树
- HDU 1754 线段树
- hdu 1754(线段树)
- HDU 1754 线段树
- HDU 1754 线段树
- HDU 1754 线段树
- 基于用户投票的排名算法(一):Delicious和Hacker News
- UVa 301 - Transportation
- JMS和AMQP的区别
- 黑马程序员_Collections和Arrays
- 【毕设资料】Web版RSS阅读器(五)——初步完成阅读功能
- hdu 1754 线段树
- 使用apt-get update
- 基础练习 特殊回文数
- MFC树形控件(CTreeCtrl)用法
- Form Builder 代码汇编一:表单当前所有记录输出到CSV文件
- ASIHTTPRequest实现断点续传
- Ganymed SSH-2 for Java系列3之执行远程shell 命令
- 计算机综合
- 基于用户投票的排名算法(二):Reddit