• HDU1754 I Hate It


    解题思路:求区间最大值,线段树模板题,不解释:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 using namespace std;
     5 #define inf 0x3f3f3f3f
     6 #define lson l, m, rt << 1
     7 #define rson m+1, r, rt << 1 | 1
     8 const int maxn = 200005;
     9 int A[maxn<<2], n, m, a, b;
    10 char str[10];
    11 
    12 void Max(int rt)
    13 {
    14     A[rt] = max(A[rt<<1], A[rt<<1 | 1]);
    15 }
    16 
    17 void Build(int l, int r, int rt)
    18 {
    19     if(l == r)
    20     {
    21         scanf("%d", &A[rt]);
    22         return ;
    23     }
    24     int m = (l + r) >> 1;
    25     Build(lson);
    26     Build(rson);
    27     Max(rt);
    28 }
    29 
    30 void Update(int p, int score, int l, int r, int rt)
    31 {
    32     if(l == r)
    33     {
    34         A[rt] = score;
    35         return ;
    36     }
    37     int m = (l + r) >> 1;
    38     if(p <= m) Update(p, score, lson);
    39     else Update(p, score, rson);
    40     Max(rt);
    41 }
    42 
    43 int Query(int ll, int rr, int l, int r, int rt)
    44 {
    45     if(ll <= l && rr >= r) return A[rt];
    46     int m = (l + r) >> 1;
    47     int max1 = -inf;
    48     if(ll <= m) max1 = max(max1, Query(ll, rr, lson));
    49     if(rr > m) max1 = max(max1, Query(ll, rr, rson));
    50     return max1;
    51 }
    52 
    53 int main()
    54 {
    55     while(~scanf("%d %d", &n, &m))
    56     {
    57         Build(1, n, 1);
    58         while(m--)
    59         {
    60             scanf("%s%d%d", str, &a, &b);
    61             if(str[0] == 'Q')
    62             {
    63                 int ans = Query(a, b, 1, n, 1);
    64                 printf("%d
    ", ans);
    65             }
    66             else Update(a, b, 1, n, 1);
    67         }
    68     }
    69     return  0;
    70 }
    View Code
  • 相关阅读:
    用Python写一个简单的包
    一个可以查询汽车销量、阅读产业报告和资讯的网站
    Java报错原因汇总
    jvisualvm远程监控Tomcat
    Tomcat内存优化
    每天一个linux命令(41):ps命令
    linux grep命令
    show processlist结果筛选(转)
    微服务、SOA 和 API对比与分析
    Java远程通讯技术及原理分析
  • 原文地址:https://www.cnblogs.com/loveprincess/p/4916373.html
Copyright © 2020-2023  润新知