zoukankan      html  css  js  c++  java
  • 【树状数组】HDU 1166 敌兵布阵

    1. 是个裸的树状数组qwq 区间查询+单点修改
    2. 字符判断相等那个地方我开始用的单引号 '  ' 直接不通过编译QAQ
    3. 第一遍交没有在一组数据结束后清空c数组 WA的让我很懵逼
    4. 样例真是一个神奇的东西啊它能让所有不正确的算法看上去很正确QAQ
    5. 代码君qwq
       1 #include<cstdio>
       2 #include<cstring>
       3 #include<iostream>
       4 #define sz 500050
       5 using namespace std;
       6 int t,n,m,c[sz];
       7 string pd;
       8 int lowbit(int x) {return x&(-x);}
       9 void add(int x,int y) {for(int i = x; i <= n; i += lowbit(i)) c[i] += y;}
      10 int ask(int x) {
      11     int ans = 0;
      12     for(int i = x; i > 0; i -= lowbit(i)) ans += c[i];
      13     return ans;
      14 }
      15 int main() {
      16     scanf("%d",&t);
      17     for(int i = 1; i <= t; i++) {
      18         memset(c,0,sizeof(c));//!!!!!!
      19         scanf("%d",&n);
      20         printf("Case %d:
      ",i);
      21         int a,x,y;
      22         for(int i = 1; i <= n; i++) {
      23             scanf("%d",&a);
      24             add(i,a);
      25         }
      26         while(1) {
      27             cin>>pd;
      28             if(pd == "End") break;
      29             scanf("%d%d",&x,&y);
      30             if(pd == "Add") add(x,y);
      31             else if(pd == "Query") printf("%d
      ",ask(y) - ask(x-1));
      32             else if(pd == "Sub") add(x,-y);
      33             
      34         }
      35     }
      36         return 0;
      37 }
    总之岁月漫长,然而值得期待。
  • 相关阅读:
    PHP框架 CI与TP之MVC比较
    多线程设计要点
    BigPipe 的工作原理
    Linux yum命令的使用技巧
    java 乱码问题
    win7或xp下常用命令
    不同场景下JVM参数的设置
    win7笔记本创建wifi热点
    maven编译出现Java heap space
    Curling 2.0——蛋疼的一道题
  • 原文地址:https://www.cnblogs.com/Hwjia/p/9529876.html
Copyright © 2011-2022 走看看