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

獨(dú)立博客: 哲學(xué)與程序

哲學(xué)與程序

ZOJ@3018 二維線段樹

解法:
// 2391826      2011-01-24 14:47:58        Accepted      3018      C++      840      17756      redsea
// 2391828      2011-01-24 14:54:21        Accepted      3018      C++      840      17756      redsea
#include<stdio.h>
#include
<string.h>
#define MAXN 500000
#define N 20002
struct seg
{
    
int dx, dy, ux, uy;
    
int ch[4];
    
int total;
}sgt[MAXN];
int sgtn;
int ans;
int w(int x, int y, int dx, int dy, int ux, int uy)
{
    
int midx = (dx+ux)/2;
    
int midy = (dy+uy)/2;
    
if(x>=dx && x<=midx){
        
if(y>=dy && y<=midy)
            
return 0;
        
else
            
return 1;
    }
    
else
    {
        
if(y>=dy && y<=midy)
            
return 2;
        
else
            
return 3;
    }
}
int init(int dx, int ux, int dy, int uy)
{
    sgt[sgtn].dx 
= dx;
    sgt[sgtn].ux 
= ux;
    sgt[sgtn].dy 
= dy;
    sgt[sgtn].uy 
= uy;
    sgt[sgtn].total 
= 0;
    
for(int i = 0; i < 4; i++)
        sgt[sgtn].ch[i] 
= -1;
    sgtn
++;
    
return sgtn-1;
}
void insert(int root, int x, int y, int a)
{
    
if(sgt[root].dx == sgt[root].ux && sgt[root].dx == x && sgt[root].dy == sgt[root].uy && sgt[root].dy == y){
        sgt[root].total 
+= a;
        
return;
    }
    
int id = w(x,y,sgt[root].dx, sgt[root].dy, sgt[root].ux, sgt[root].uy);
    
int midx = (sgt[root].dx+sgt[root].ux)/2;
    
int midy = (sgt[root].dy+sgt[root].uy)/2;
    sgt[root].total 
+= a;
    
if(id == 0){
        
if(sgt[root].ch[id] == -1){
            sgt[root].ch[id] 
= init(sgt[root].dx,midx,sgt[root].dy,midy);
        }
        insert(sgt[root].ch[id],x,y,a);    
    }
else if(id == 1){
        
if(sgt[root].ch[id] == -1){
            sgt[root].ch[id] 
= init(sgt[root].dx,midx,midy+1,sgt[root].uy);
        }
        insert(sgt[root].ch[id],x,y,a);
    }
else if(id == 2){
        
if(sgt[root].ch[id] == -1){
            sgt[root].ch[id] 
= init(midx+1,sgt[root].ux,sgt[root].dy,midy);
        }
        insert(sgt[root].ch[id],x,y,a);
    }
else{
        
if(sgt[root].ch[id] == -1){
            sgt[root].ch[id] 
= init(midx+1,sgt[root].ux,midy+1,sgt[root].uy);
        }
        insert(sgt[root].ch[id],x,y,a);
    }
}
void sum(int root, int dx, int dy, int ux, int uy)
{
    
if(root < 0)return;
    
if(sgt[root].dx > ux || sgt[root].ux < dx || sgt[root].dy > uy || sgt[root].uy < dy)
        
return;
    
if(sgt[root].dx >= dx && sgt[root].ux <= ux && sgt[root].dy >= dy && sgt[root].uy <= uy)
    {
        ans 
+= sgt[root].total;
        
return;
    }
else{
        
for(int i = 0; i < 4; i++)
        {
            sum(sgt[root].ch[i],dx,dy,ux,uy);
        }
    }
}
int main()
{
    
char opes[500];
    
char now;
    
int x, y, z;
    
int x1, x2, y1, y2;    
    
while(scanf("%s", opes) != EOF){
        now 
= opes[0];
           getchar();
           sgtn 
= 1;
        sgt[
0].total = 0;
        sgt[
0].dx = 1;
        sgt[
0].dy = 1;
        sgt[
0].ux = 20000;
        sgt[
0].uy = 20000;
        
for(int i = 0; i < 4; i++)
            sgt[
0].ch[i] = -1;
          
while(true){
            
if(now == 'E'break;
            gets(opes);
            
if(opes[0< '0' || opes[0> '9'){
                 now 
= opes[0];
                 
continue;
            }
            
if(now == 'I'){
                sscanf(opes, 
"%d %d %d"&x, &y, &z);
                insert(
0,x,y,z);
            }
else{
                 sscanf(opes, 
"%d %d %d %d"&x1, &x2 , &y1, &y2);
                 ans 
= 0;
                 sum(
0,x1,y1,x2,y2);    
                printf(
"%d\n", ans);
            }
        }
       }
       
return 0;
}
二維線段樹。


posted on 2011-01-24 14:53 哲學(xué)與程序 閱讀(628) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm

導(dǎo)航

公告

歡迎訪問 http://zhexue.sinaapp.com

常用鏈接

隨筆分類(37)

隨筆檔案(41)

Algorithm

最新隨筆

搜索

最新評論

獨(dú)立博客: 哲學(xué)與程序
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲福利视频网| 夜夜嗨av色综合久久久综合网 | 欧美视频观看一区| 猛干欧美女孩| 老鸭窝91久久精品色噜噜导演| 久久精品国产清高在天天线| 久久成人免费日本黄色| 久久亚洲美女| 欧美激情自拍| 国产精品久久9| 国产日韩av一区二区| 国内精品写真在线观看| 亚洲高清影视| 亚洲欧洲日夜超级视频| 99国产精品久久久久久久| 99re国产精品| 午夜视频久久久| 久久久久久97三级| 亚洲电影第1页| 免费不卡亚洲欧美| 日韩视频久久| 欧美在线视频a| 久久久久久网址| 欧美日韩精品久久| 国模叶桐国产精品一区| 一区二区三区精品视频| 久久激情视频| 亚洲国产欧美一区二区三区丁香婷| 亚洲美女黄网| 久久精品91久久香蕉加勒比| 欧美国产在线电影| 国产欧美一区二区在线观看| 亚洲黄色免费电影| 久久成人免费视频| 洋洋av久久久久久久一区| 老**午夜毛片一区二区三区| 国产精品欧美在线| 一本在线高清不卡dvd| 久久综合给合久久狠狠色| 亚洲视频一区在线观看| 欧美高清影院| 亚洲特色特黄| 欧美精品七区| 亚洲国产精品成人精品| 久久精品国产99精品国产亚洲性色| 最新日韩中文字幕| 久久综合给合久久狠狠色| 国产欧美一区二区三区另类精品| 亚洲视频狠狠| 亚洲人成亚洲人成在线观看| 裸体素人女欧美日韩| 国产一区二区欧美日韩| 亚洲欧美成人在线| 一本久久青青| 欧美性猛交99久久久久99按摩| 久久免费精品视频| 国内一区二区三区| 欧美在线视频观看免费网站| 夜夜狂射影院欧美极品| 欧美精品日日鲁夜夜添| 亚洲国产成人久久| 美女在线一区二区| 久久久噜噜噜久久中文字幕色伊伊| 国产精品私人影院| 亚洲影院高清在线| 亚洲欧美国产77777| 国产精品久久久久久久午夜| 亚洲男人第一网站| 亚洲一区在线视频| 国产情人综合久久777777| 欧美一区二区三区在线看| 亚洲一区二区三区在线播放| 国产精品久久久99| 亚洲尤物在线| 亚洲欧美日韩精品一区二区| 国产欧美日韩综合一区在线播放| 欧美一区亚洲一区| 亚洲欧美怡红院| 国内精品国产成人| 欧美激情视频免费观看| 欧美精品久久久久a| 一区二区三区精品视频| 亚洲一区二区毛片| 国产日韩专区| 亚洲国内精品在线| 欧美日韩综合视频| 久久九九国产精品| 麻豆精品视频在线| 亚洲图片激情小说| 午夜精品亚洲| 亚洲国产精品美女| 99精品99久久久久久宅男| 国产精品私拍pans大尺度在线| 久久久久免费视频| 欧美国产激情二区三区| 欧美激情一区二区三级高清视频| 欧美日韩播放| 久久精品久久99精品久久| 久久在线视频在线| 亚洲性图久久| 久久久久久久波多野高潮日日| 亚洲狼人综合| 亚洲一区精彩视频| 久久久精品日韩欧美| 亚洲美女在线视频| 欧美一区二区大片| 99视频一区二区| 欧美在线观看视频在线| 日韩视频在线免费观看| 亚洲欧美亚洲| 中文一区二区| 美国成人直播| 欧美一级片久久久久久久| 欧美成人精品| 浪潮色综合久久天堂| 国产精品videosex极品| 亚洲成色999久久网站| 国产情人综合久久777777| 亚洲三级电影在线观看| 尤妮丝一区二区裸体视频| 亚洲欧美日韩在线不卡| 宅男噜噜噜66一区二区| 欧美高潮视频| 欧美国产日产韩国视频| 在线播放日韩欧美| 久久久久国产精品一区三寸| 亚洲欧美日韩第一区| 欧美精品久久99久久在免费线| 久久人人精品| 国产日韩三区| 亚洲欧美视频在线| 亚洲欧美日韩精品久久久久| 久久精品国产免费观看| 国产精品入口福利| 日韩视频二区| 亚洲一区不卡| 欧美日韩国产综合新一区| 亚洲第一搞黄网站| 亚洲国产一区二区精品专区| 久久精品国产久精国产一老狼 | 国语自产在线不卡| 性欧美暴力猛交另类hd| 小辣椒精品导航| 国产精品视频免费在线观看| 99精品欧美一区二区三区综合在线| 99视频一区二区| 欧美日韩高清不卡| 日韩西西人体444www| 一本色道久久综合亚洲精品按摩| 欧美韩日亚洲| 一区二区国产在线观看| 亚洲欧美日韩一区二区在线| 国产精品久久久久久久久久久久久久| 亚洲美女淫视频| 亚洲欧美一区二区三区极速播放 | 欧美视频精品一区| 中文一区二区| 久久不射中文字幕| 经典三级久久| 免费永久网站黄欧美| 亚洲国产精品一区二区久| 日韩一级视频免费观看在线| 欧美视频在线观看一区二区| 欧美一区二区在线免费观看| 国产精品资源在线观看| 亚洲天堂成人在线观看| 国产精品一区二区三区四区| 欧美在线视频观看免费网站| 久久综合伊人77777麻豆| 亚洲国产老妈| 欧美日韩成人综合| 香蕉成人啪国产精品视频综合网| 久久婷婷久久一区二区三区| 最新中文字幕一区二区三区| 欧美午夜电影网| 久久精品免费播放| 亚洲精品你懂的| 久久国产天堂福利天堂| 亚洲国产欧美一区| 国产精品视频精品视频| 看欧美日韩国产| 亚洲五月婷婷| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲免费精品| 一区二区三区中文在线观看| 欧美日韩中文字幕在线视频| 久久久久欧美| 亚洲性视频h| 亚洲精品久久嫩草网站秘色| 久久天堂成人| 欧美一区二区福利在线| 日韩午夜av| 一区二区三区亚洲| 国产精品大全| 欧美精品18+| 六月婷婷久久| 久久久久国色av免费看影院 | 午夜久久久久久| 亚洲精品一二区| 欧美成人日本|