zoukankan      html  css  js  c++  java
  • nyoj-123-士兵杀敌(四)

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<algorithm>
     4 #include<math.h>
     5 using namespace std;
     6 int tree[1000010],t,m,i;
     7 int main()
     8 {
     9     void add(int left,int num);
    10     int getsum(int end);
    11     while(scanf("%d%d",&t,&m)!=EOF)
    12     {
    13         int a,b1,b2,b3;
    14         char ch[10];
    15         memset(tree,0,sizeof(tree));
    16         for(i=0;i<t;i++)
    17         {
    18             scanf("%s",ch);
    19             if(ch[0]=='A')
    20             {
    21                 scanf("%d%d%d",&b1,&b2,&b3);
    22                 add(b1,b3);
    23                 add(b2+1,-b3);
    24             }
    25             else
    26             {
    27                 scanf("%d",&b1);
    28                 printf("%d
    ",getsum(b1));
    29             }
    30         }
    31     }
    32     return 0;
    33 }
    34 int lowbit(int n)
    35 {
    36     return n&(-n);
    37 }
    38 void add(int left,int num)
    39 {
    40     while(left<=m)
    41     {
    42         tree[left]+=num;
    43         left+=lowbit(left);
    44     }
    45 }
    46 int getsum(int end)
    47 {
    48     int sum=0;
    49     while(end>0)
    50     {
    51         sum+=tree[end];
    52         end-=lowbit(end);
    53     }
    54     return sum;
    55 }
  • 相关阅读:
    Xaml下
    Xmal
    ItemTemplate
    spring aop
    Struts2
    jsp的标签库
    数据库连接池
    request初探
    kubectl 命令大全
    win10常见问题归总
  • 原文地址:https://www.cnblogs.com/nylg-haozi/p/3193822.html
Copyright © 2011-2022 走看看