• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            心如止水
            Je n'ai pas le temps
            posts - 400,comments - 130,trackbacks - 0
            二維樹狀數(shù)組的應(yīng)用。每次在某個點(diǎn)上增加一個值,或是詢問某塊區(qū)域內(nèi)的和。
            以下是我的代碼:
            #include<iostream>
            #include
            <string>
            #include
            <algorithm>
            #include
            <cstdio>
            #include
            <cstring>
            #define lowbit(x) ((x)&(-(x)))
            using namespace std;
            const int n(1001);

            int bit[n+7][n+7];
            bool bright[n+7][n+7];

            void Add(int x,int y,int delta)
            {
                
            for(int i=x;i<=n;i+=lowbit(i))
                    
            for(int j=y;j<=n;j+=lowbit(j))
                        bit[i][j]
            +=delta;
            }

            int Sum(int x,int y)
            {
                
            int re(0);
                
            for(int i=x;i>0;i-=lowbit(i))
                    
            for(int j=y;j>0;j-=lowbit(j))
                        re
            +=bit[i][j];
                
            return re;
            }

            int main()
            {
                memset(bit,
            0,sizeof(bit));
                memset(bright,
            false,sizeof(bright));

                
            int m;
                cin
            >>m;
                
            while(m--)
                {
                    
            string cmd;
                    cin
            >>cmd;
                    
            if(cmd=="B")
                    {
                        
            int x,y;
                        scanf(
            "%d%d",&x,&y);
                        x
            ++;y++;
                        
            if(!bright[x][y])
                            Add(x,y,
            1);
                        bright[x][y]
            =true;
                    }
                    
            else if(cmd=="D")
                    {
                        
            int x,y;
                        scanf(
            "%d%d",&x,&y);
                        x
            ++;y++;
                        
            if(bright[x][y])
                            Add(x,y,
            -1);
                        bright[x][y]
            =false;
                    }
                    
            else if(cmd=="Q")
                    {
                        
            int x1,y1,x2,y2;
                        scanf(
            "%d%d%d%d",&x1,&x2,&y1,&y2);
                        x1
            ++;y1++;x2++;y2++;
                        
            if(x1>x2)
                            swap(x1,x2);
                        
            if(y1>y2)
                            swap(y1,y2);
                        printf(
            "%d\n",Sum(x2,y2)-Sum(x1-1,y2)-Sum(x2,y1-1)+Sum(x1-1,y1-1));
                    }
                }

                
            return 0;
            }
            posted on 2011-07-31 09:29 lee1r 閱讀(265) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:數(shù)據(jù)結(jié)構(gòu)
            国产欧美久久一区二区| 久久av免费天堂小草播放| 亚洲午夜精品久久久久久app| 久久天天躁狠狠躁夜夜不卡| 久久免费视频一区| 久久综合国产乱子伦精品免费| 国产福利电影一区二区三区久久老子无码午夜伦不| 久久综合综合久久综合| 国产 亚洲 欧美 另类 久久| 久久久这里只有精品加勒比| 久久久噜噜噜www成人网| 久久久久久噜噜精品免费直播| 老男人久久青草av高清| 久久精品国产亚洲一区二区| 亚洲欧洲精品成人久久奇米网| 色综合久久综合中文综合网 | A级毛片无码久久精品免费| 无码任你躁久久久久久老妇| 久久精品国产网红主播| 思思久久好好热精品国产| 日本三级久久网| 99久久免费国产精品热| 亚洲精品国产美女久久久| 性做久久久久久久久老女人| 国产成人精品久久综合| 99久久99久久| 久久一日本道色综合久久| 思思久久99热只有频精品66| 久久男人AV资源网站| 精品乱码久久久久久夜夜嗨| 久久这里只精品国产99热| 久久综合噜噜激激的五月天| 99久久精品免费看国产一区二区三区 | 青青热久久综合网伊人| 国内精品伊人久久久久av一坑| 狠狠色综合网站久久久久久久高清 | 久久综合久久综合久久综合| 国内精品人妻无码久久久影院 | 久久久久AV综合网成人| 国产毛片欧美毛片久久久| 久久精品国产AV一区二区三区 |