青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

ACM___________________________

______________白白の屋
posts - 182, comments - 102, trackbacks - 0, articles - 0
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(24)

隨筆分類(332)

隨筆檔案(182)

FRIENDS

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

MiYu原創(chuàng), 轉(zhuǎn)帖請注明 : 轉(zhuǎn)載自 ______________白白の屋    

 

題目地址:

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

題目描述:

代碼
See you~

Time Limit: 
5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 
921    Accepted Submission(s): 291


Problem Description
Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algorithm and Programming, and I met so many good friends. I want to say sorry to Mr, Yin, I must leave now 
~~>.<~~. I am very sorry, we could not advanced to the World Finals last year. 
When coming into our training room, a lot of books are 
in my eyes. And every time the books are moving from one place to another one. Now give you the position of the books at the early of the day. And the moving information of the books the day, your work is to tell me how many books are stayed in some rectangles. 
To make the problem easier, we divide the room into different grids and a book can only stayed 
in one grid. The length and the width of the room are less than 1000. I can move one book from one position to another position, take away one book from a position or bring in one book and put it on one position. 
 

Input
In the first line of the input file there 
is an Integer T(1<=T<=10), which means the number of test cases in the input file. Then N test cases are followed. 
For each test 
casein the first line there is an Integer Q(1<Q<=100,000), means the queries of the case. Then followed by Q queries. 
There are 
4 kind of queries, sum, add, delete and move. 
For example: 
S x1 y1 x2 y2 means you should tell me the total books of the rectangle used (x1,y1)
-(x2,y2) as the diagonal, including the two points. 
A x1 y1 n1 means I put n1 books on the position (x1,y1) 
D x1 y1 n1 means I move away n1 books on the position (x1,y1), 
if less than n1 books at that position, move away all of them. 
M x1 y1 x2 y2 n1 means you move n1 books from (x1,y1) to (x2,y2), 
if less than n1 books at that position, move away all of them. 
Make sure that at first, there 
is one book on every grid and 0<=x1,y1,x2,y2<=1000,1<=n1<=100
 

Output
At the beginning of each 
case, output "Case X:" where X is the index of the test case, then followed by the "S" queries. 
For each 
"S" query, just print out the total number of books in that area. 
 

Sample Input
2
3
1 1 1 1
1 1 2
1 1 1 1
3
1 1 1 1
1 1 2
1 1 1 2
 

Sample Output
Case 
1:
1
3
Case 
2:
1
4

 

題目分析 :

   一道二維樹狀數(shù)組 的裸題, 只是需要對坐標(biāo)做些處理即可, 另外, 初始化的時候 原來 com[i][j] = lowbit (i) * lowbit (j);      WA 好多次, 直接用的modify(i,j,1)

好了,  直接代碼吧, 代碼過長, 內(nèi)存多了一點點 , HDU 第二     

2HUT-MiYu156MS8044K3172BC++

 

 /*

MiYu原創(chuàng), 轉(zhuǎn)帖請注明 : 轉(zhuǎn)載自 ______________白白の屋

          http://www.cnblog.com/MiYu

Author By : MiYu

Test      : 1

Program   : 1892

*/


#include <iostream>

#include <cmath>

#include <algorithm>

using namespace std;

#define lowbit(x) (x&(-x))

int T,N;

const int MAX = 1001;

int mat[1002][1002];

int com[1002][1002];

void modify ( int x,int y, int n )

{

     while ( x <= MAX ){

           int t = y;

           while ( t <= MAX ){

                  com[x][t] += n;

                  t += lowbit(t); 

           } 

           x += lowbit(x);

     } 

}

int quy ( int x, int y )

{

     int sum = 0;

     while ( x > 0 ){

           int t = y;

           while ( t > 0 ){

                  sum += com[x][t];

                  t -= lowbit(t); 

           } 

           x -= lowbit(x);

     } 

     return sum; 

}

inline bool scan_d(int &num)

{

        char in;bool IsN=false;

        in=getchar();

        if(in==EOF) return false;

        while(in!='-'&&(in<'0'||in>'9')) in=getchar();

        if(in=='-'){ IsN=true;num=0;}

        else num=in-'0';

        while(in=getchar(),in>='0'&&in<='9'){

                num*=10,num+=in-'0';

        }

        if(IsN) num=-num;

        return true;

}

int main ()

{

      scan_d(T);{

            int ca = 1;

            while ( T -- ){

                   printf ( "Case %d:\n",ca++ );

                   scan_d(N);  char s[5];  int a,b,x,y,m,res,maxx,maxy,minx,miny;

                   for ( int i = 1; i <= MAX; ++ i )

                        for ( int j = 1; j <= MAX; ++ j )

                              com[i][j] = lowbit(i) * lowbit(j), mat[i][j] = 1;

                   for ( int i = 1; i <= N;  ++ i ){

                         scanf ( "%s",s );

                         switch ( s[0] ){

                                case 'S' : scan_d(a);scan_d(b);scan_d(x);scan_d(y); minx = min ( a,x );miny=min(b,y);maxx=max(a,x)+1;maxy=max(b,y)+1;

                                           res = 0;  res += quy( maxx,maxy ); res -= quy (maxx,miny); res -= quy(minx,maxy); res += quy(minx,miny);

                                           printf ( "%d\n",res ); break;   

                                case 'A' : scan_d(x);scan_d(y);scan_d(a);x++;y++; modify ( x,y,a ); mat[x][y] += a; break;

                                case 'D' : scan_d(x);scan_d(y);scan_d(a);x++;y++; if ( mat[x][y] >= a ) { modify ( x,y,-a ); mat[x][y] -= a; }

                                                                        else  { modify ( x,y,-mat[x][y] ); mat[x][y] = 0; } break;   

                                case 'M' : scan_d(a);scan_d(b);scan_d(x);scan_d(y);scan_d(m);a++;b++;x++;y++; if ( mat[a][b] >= m )

                                                                                  {  mat[a][b] -= m; mat[x][y] += m; modify ( a,b,-m ); modify ( x,y,m ); }

                                                                                  else { modify ( a,b,-mat[a][b] ); modify ( x,y,mat[a][b] ); mat[x][y] += mat[a][b]; mat[a][b] = 0; } break;

                         }

                   } 

            } 

    }

    return 0;

}


 

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            狼人社综合社区| 久久字幕精品一区| 永久91嫩草亚洲精品人人| 国产真实乱偷精品视频免| 欧美高清hd18日本| 国产精品日日摸夜夜摸av| 亚洲国产天堂久久综合| 国产亚洲美州欧州综合国| 亚洲精品视频免费观看| 亚洲黄色影院| 久久综合中文色婷婷| 久久亚洲美女| 国产一区二区欧美日韩| 亚洲一区二区三区影院| 亚洲私人影吧| 欧美午夜理伦三级在线观看| 最近中文字幕日韩精品| 亚洲国产精品一区二区www| 久久国产精品色婷婷| 久久久久这里只有精品| 国产一区二区按摩在线观看| 亚洲图片你懂的| 亚洲——在线| 国产精品久久久久一区二区三区| 99re6这里只有精品视频在线观看| 亚洲精品乱码| 欧美激情视频一区二区三区不卡| 亚洲国产欧美日韩| 亚洲日本视频| 欧美日韩123| 一区二区免费在线播放| 亚洲香蕉网站| 国产精品永久免费观看| 午夜日韩激情| 久久手机精品视频| 樱桃成人精品视频在线播放| 美女在线一区二区| 亚洲国产经典视频| 99re8这里有精品热视频免费 | 蜜桃久久av| 亚洲福利视频网| 99精品热视频| 国产欧美三级| 久久久精品性| 亚洲人精品午夜在线观看| 亚洲视频www| 国产啪精品视频| 麻豆免费精品视频| 99re热精品| 久久久久国产精品一区| 亚洲国产日韩欧美在线图片| 欧美美女视频| 午夜精品久久久久影视| 六月天综合网| 一区二区三区日韩在线观看| 国产精品美女诱惑| 久久久国产精品一区二区中文| 欧美成人网在线| 午夜国产精品视频| 伊人久久婷婷色综合98网| 欧美精品一区二区三区蜜桃| 篠田优中文在线播放第一区| 欧美激情亚洲一区| 性伦欧美刺激片在线观看| 尤物视频一区二区| 欧美新色视频| 久久午夜电影| 亚洲欧美99| 亚洲欧洲日产国产综合网| 久久精品视频免费观看| 亚洲精品久久| 韩国精品在线观看| 国产精品v欧美精品v日本精品动漫 | 欧美www视频| 亚洲欧美一区二区精品久久久| 欧美成人国产| 久久免费偷拍视频| 亚洲尤物精选| 日韩视频免费在线| 在线不卡a资源高清| 国产精品亚洲人在线观看| 欧美大片91| 久久中文精品| 久久国产精品99国产| 亚洲天堂成人| 日韩亚洲欧美在线观看| 欧美国产先锋| 鲁大师成人一区二区三区| 性久久久久久| 亚洲性感美女99在线| 亚洲久久在线| 亚洲精品美女久久7777777| 国产婷婷色一区二区三区四区| 欧美三级午夜理伦三级中文幕| 久久久伊人欧美| 午夜在线精品| 午夜欧美视频| 欧美一级夜夜爽| 亚洲欧美春色| 亚洲综合精品四区| 亚洲亚洲精品三区日韩精品在线视频| 亚洲激情小视频| 亚洲国产老妈| 亚洲国产日本| 亚洲三级电影在线观看| 亚洲人体大胆视频| 最近中文字幕日韩精品| 亚洲欧洲日产国码二区| 亚洲精品美女久久久久| 亚洲国产影院| 99综合视频| 一区二区欧美精品| 国产精品99久久不卡二区| 亚洲图片欧洲图片av| 亚洲手机在线| 先锋a资源在线看亚洲| 欧美一区视频在线| 久久综合狠狠综合久久激情| 美女黄色成人网| 欧美成人福利视频| 欧美日韩a区| 国产精品久久久久一区二区三区| 国产精品户外野外| 国产美女精品| 国产一区二区三区四区三区四| 国产香蕉97碰碰久久人人| 国内激情久久| 亚洲人精品午夜| 亚洲一区三区电影在线观看| 欧美一区91| 免费国产一区二区| 亚洲第一在线综合网站| 亚洲激情图片小说视频| 一本色道久久综合狠狠躁篇的优点| 一本色道久久综合亚洲精品婷婷 | 午夜精品久久久久久久蜜桃app| 欧美一区二区三区的| 久久综合影音| 国产精品国产a| 一区在线播放| 在线一区二区日韩| 久久免费视频网| 亚洲国产精品精华液2区45| 中文日韩电影网站| 久久久夜精品| 欧美日韩天堂| 在线视频观看日韩| 一区二区三区 在线观看视| 久久爱www| 亚洲精选在线| 久久精品国产综合| 欧美三级中文字幕在线观看| 国语对白精品一区二区| 日韩视频在线观看国产| 欧美综合第一页| 亚洲精品国精品久久99热一| 午夜一区不卡| 欧美日韩综合在线免费观看| 激情视频亚洲| 午夜亚洲性色福利视频| 亚洲国产精品久久久久秋霞影院| 亚洲欧美激情四射在线日| 欧美国产日韩亚洲一区| 国产亚洲欧美在线| 亚洲影院免费| 最近中文字幕日韩精品| 久久久久久久一区| 国产精品一区在线播放| 99v久久综合狠狠综合久久| 久久综合给合久久狠狠色| 亚洲一级黄色片| 欧美精品系列| 亚洲国语精品自产拍在线观看| 欧美在线观看一二区| 一区二区欧美精品| 欧美喷潮久久久xxxxx| 亚洲国产影院| 蜜臀a∨国产成人精品| 午夜精品理论片| 国产精品欧美一区喷水| 亚洲特级毛片| 日韩视频不卡| 欧美国产视频一区二区| 亚洲高清在线精品| 久久免费视频网| 久久国产精品色婷婷| 国产日韩专区| 久久精品一区二区| 羞羞漫画18久久大片| 国产女主播一区二区| 亚洲欧美日韩国产精品 | 久久er99精品| 韩国av一区二区三区| 久久久久成人精品| 亚洲欧美在线免费| 国产日韩欧美在线看| 久久aⅴ国产紧身牛仔裤| 午夜精品久久久久久久| 国产一区二区精品久久91| 久久精品视频在线看|