zoukankan      html  css  js  c++  java
  • hdu1698Just a Hook(线段树区间覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=1698

    View Code
     1 #include <iostream>
     2 #include<cstdio>
     3 #include<string.h>
     4 using namespace std;
     5 #define max 100000
     6 int s[max*4],te[max*4];
     7 void pushup(int w)
     8 {
     9     s[w] = s[2*w]+s[2*w+1];
    10 }
    11 void pushdown(int w,int m)
    12 {
    13     if(te[w])
    14     {
    15         te[2*w] = te[2*w+1] = te[w];
    16         s[2*w] = (m-m/2)*te[w];
    17         s[2*w+1] = te[w]*(m/2);
    18         te[w] =0;
    19     }
    20 }
    21 void build(int l,int r,int w)
    22 {
    23     te[w] = 0;
    24     if(l==r)
    25     {
    26         s[w] = 1;
    27         return ;
    28     }
    29     int m = (l+r)/2;
    30     build(l,m,2*w);
    31     build(m+1,r,2*w+1);
    32     pushup(w);
    33 }
    34 void update(int a,int b,int c,int l,int r,int w)
    35 {
    36     if(a<=l&&b>=r)
    37     {
    38         te[w] = c;
    39         s[w]=c*(r-l+1);
    40         return ;
    41     }
    42     pushdown(w,r-l+1);
    43     int m = (l+r)/2;
    44     if(a<=m)
    45     update(a,b,c,l,m,2*w);
    46     if(b>m)
    47     update(a,b,c,m+1,r,2*w+1);
    48     pushup(w);
    49 }
    50 int main()
    51 {
    52     int i,j,k =0 ,t,n,m,a,b,c;
    53     scanf("%d",&t);
    54     while(t--)
    55     {
    56         k++;
    57         scanf("%d",&n);
    58         build(1,n,1);
    59         scanf("%d",&m);
    60         while(m--)
    61         {
    62             scanf("%d%d%d",&a,&b,&c);
    63             update(a,b,c,1,n,1);
    64         }
    65         printf("Case %d: The total value of the hook is ",k);
    66         printf("%d.\n",s[1]);
    67     }
    68     return 0;
    69 }
  • 相关阅读:
    Spring
    linux下jdk多版本管理
    linux集群管理
    python多任务处理
    Web框架的引入
    Git命令大全
    Git远程仓库--GitHub
    基于python实现简单web服务器
    python文件读写方式
    几句话搞懂URI、URL、URN之间的关系
  • 原文地址:https://www.cnblogs.com/shangyu/p/2631081.html
Copyright © 2011-2022 走看看