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

隨筆 - 87  文章 - 279  trackbacks - 0
<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 220432
  • 排名 - 118

最新評論

閱讀排行榜

評論排行榜

const int MAXN = 50000;
 
class SegmentTree {
public:
      int LSON[MAXN]; //LSON[i]為節點i的左兒子的序號
      int RSON[MAXN]; //RSON[i]為節點i的右兒子的序號
      int B[MAXN]; //B[i]為區間i左端點
      int E[MAXN]; //E[i]為區間i右端點
      int cnt[MAXN]; //cnt[i]為區間i的計數器
      int M[MAXN]; //M[i]為區間i的測度
      int lbd[MAXN]; //lbd[i]為區間i的左端點是否被覆蓋
      int rbd[MAXN]; //rbd[i]為區間i的右端點是否被覆蓋
      int lines[MAXN]; //lines[i]為區間i的連續線段數
      int root; //樹根 初始化時候設為1
      int n; //樹的節點數
      SegmentTree(int, int);
      void build(int, int);
      void insert(int, int, int);
      void del(int, int, int);
      void updateM(int); //更新測度
      void updateLines(int); //更新連續線段數
};
SegmentTree::SegmentTree(int a, int b) {
      root = 1;
      n = 0;
      memset(LSON, 0, sizeof(LSON));
      memset(RSON, 0, sizeof(RSON));
      memset(cnt, 0, sizeof(cnt));
      memset(M, 0, sizeof(M));
      memset(lines, 0, sizeof(lines));
      memset(lbd, 0, sizeof(lbd));
      memset(rbd, 0, sizeof(rbd));
      build(a, b);
}
void SegmentTree::build(int a, int b) {
      n += 1;
      int v = n;
      B[v] = a; E[v] = b; 
      if (b - a > 1) {
            LSON[v] = n + 1;
            build(a, (a+b)/2);
            RSON[v] = n + 1;
            build((a+b)/2, b);
      }
}
void SegmentTree::insert(int a, int b, int v) {
      if (!v) return ;
      if (a <= B[v] && E[v] <= b) {
            cnt[v]++;
            lbd[v] = rbd[v] = 1;
      } else if (E[v]-B[v] > 1) {
            if (a <(b[v]+e[v])/2) insert(a, b, LSON[v]);
            if (b > (B[v]+E[v])/2) insert(a, b, RSON[v]);
      }
      updateM(v);
      updateLines(v);
}
void SegmentTree::del(int a, int b, int v) {
      if (!v) return ;
      if (a <= B[v] && E[v] <= b) {
            cnt[v]--;
            if (a == B[v]) lbd[v] = 0;
            if (b == E[v]) rbd[v] = 0;
      } else if (E[v]-B[v] > 1) {
            if (a <(b[v]+e[v])/2) del(a, b, LSON[v]);
            if (b > (B[v]+E[v])/2) del(a, b, RSON[v]);
      }
      updateM(v);
      updateLines(v);
}
void SegmentTree::updateM(int v) {
      if (cnt[v] > 0) M[v] = E[v] - B[v];
      else {
            if (E[v]-B[v] == 1) M[v] = 0;
            else M[v] = M[LSON[v]] + M[RSON[v]];
      }
}
void SegmentTree::updateLines(int v) {
      if (cnt[v] > 0) lbd[v] = rbd[v] = lines[v] = 1;
      else {
            if (E[v]-B[v] == 1) lbd[v] = rbd[v] = lines[v] = 0;
            else {
                  lbd[v] = lbd[LSON[v]]; rbd[v] = rbd[RSON[v]];
                  lines[v] = lines[LSON[v]] + lines[RSON[v]] - rbd[LSON[v]] * lbd[RSON[v]];
            }
      }
}
posted on 2007-04-07 12:16 閱讀(961) 評論(1)  編輯 收藏 引用 所屬分類: 數據結構與算法

FeedBack:
# re: 線段樹類 2008-11-14 14:19 crg511
thank you  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 亚洲一区二区久久| 国产精品国产成人国产三级| 久久久天天操| 经典三级久久| 欧美日韩国产综合网 | 欧美一区免费| 久久久久久日产精品| 亚洲主播在线| 激情综合亚洲| 欧美日韩在线播放三区| 久久精品国产成人| 9i看片成人免费高清| 亚洲精品一区二区网址| 亚洲欧美另类国产| 欧美日韩国产美| 亚洲你懂的在线视频| 老司机精品视频一区二区三区| 国产免费成人| 欧美主播一区二区三区| 老司机67194精品线观看| 欧美在线免费观看| 国产亚洲福利一区| 欧美精品aa| 欧美一区中文字幕| 国产日韩欧美自拍| 欧美成年人视频网站欧美| 午夜免费日韩视频| 另类亚洲自拍| 欧美成人国产| 亚洲大片精品永久免费| 欧美在线视频免费播放| 久久免费偷拍视频| 久久成人一区二区| 一区二区三区视频在线看| 久久免费精品视频| 久久成人久久爱| 久久精品一区蜜桃臀影院| 亚洲欧美国产另类| 亚洲午夜精品久久久久久app| 欧美影院成人| 久久精品亚洲| 欧美特黄一级| 国产欧美一区二区三区视频| 欧美v亚洲v综合ⅴ国产v| 麻豆成人在线播放| 欧美日韩国产高清| 国产一区二区三区奇米久涩| 亚洲精品一区二| 亚洲一卡久久| 久久精品视频播放| 欧美午夜一区| 国产一区二区在线观看免费| 在线播放一区| 久久激情综合网| 欧美一区二区三区婷婷月色| 亚洲欧美日本视频在线观看| 久久久噜噜噜久久中文字免| 亚洲精品欧美极品| 亚洲一区三区视频在线观看| 最新亚洲视频| 欧美激情精品久久久久久大尺度 | 日韩一级免费| 欧美经典一区二区三区| 国产欧美精品xxxx另类| 夜夜精品视频一区二区| 久久成人久久爱| 欧美成人午夜免费视在线看片| 在线视频亚洲一区| 国模大胆一区二区三区| 牛牛国产精品| 国产精品女主播| 亚洲伊人网站| 免费观看亚洲视频大全| 欧美一区2区三区4区公司二百| 欧美激情精品久久久久久免费印度| 欧美日韩免费观看一区二区三区| 国产精品第一区| 亚洲自拍偷拍色片视频| 一区二区免费在线观看| 国产精品一区二区在线| 亚洲女ⅴideoshd黑人| 亚洲第一福利在线观看| 国产毛片精品国产一区二区三区| 亚洲黄色成人久久久| 亚洲综合欧美| 亚洲激情成人在线| 在线性视频日韩欧美| 一区二区三区国产盗摄| 欧美色视频在线| 久久久久久久欧美精品| 亚洲一区美女视频在线观看免费| 亚洲欧美日韩国产| 99日韩精品| 欧美日韩在线第一页| 久久青草欧美一区二区三区| 国内成人自拍视频| 最新日韩精品| 国产伦精品一区二区三区照片91| 欧美成人国产一区二区| 在线观看国产一区二区| 美日韩精品视频| 欧美一级电影久久| 国产精品久久亚洲7777| 午夜国产精品视频免费体验区| 欧美成人tv| 久久人91精品久久久久久不卡| 欧美性猛交视频| 亚洲国产精品久久久久婷婷老年 | 亚洲第一福利在线观看| 国产精品扒开腿爽爽爽视频| 亚洲人成小说网站色在线| 中文在线一区| 欧美日韩无遮挡| 亚洲一区综合| 亚洲黄色免费| 欧美国产日韩xxxxx| 亚洲欧洲日本mm| 欧美日韩一区免费| 中文精品99久久国产香蕉| 亚洲免费影视| 伊人久久亚洲热| 国产精品久久久久久亚洲调教| 亚洲精品欧美精品| 久久爱www久久做| 久久av资源网站| 欧美专区在线观看| 在线播放不卡| 久久国产综合精品| 亚洲国产va精品久久久不卡综合| 性伦欧美刺激片在线观看| 亚洲国产精品久久久久婷婷老年| 亚洲男人av电影| 欧美高清视频在线| 亚洲国产婷婷| 国产精品入口麻豆原神| 免费一级欧美片在线观看| 午夜电影亚洲| 亚洲欧美日韩成人| 在线中文字幕日韩| 日韩午夜黄色| 亚洲少妇在线| 亚洲视频碰碰| 性欧美激情精品| 久久视频在线免费观看| 久久精品国产2020观看福利| 亚洲欧洲一区| 亚洲高清视频中文字幕| 亚洲国产成人久久| 亚洲第一搞黄网站| 久久久精品一区| 午夜欧美精品久久久久久久| 一区二区欧美在线| 日韩一二三区视频| 久久激情网站| 亚洲美女91| 亚洲一区免费网站| 香蕉成人伊视频在线观看 | 亚洲精品你懂的| 亚洲精品欧美日韩| 亚洲国产欧美一区二区三区同亚洲 | 欧美人成在线视频| 美腿丝袜亚洲色图| 欧美91大片| 国产精品午夜视频| 亚洲国产经典视频| 99热这里只有成人精品国产| 亚洲国产专区校园欧美| 亚洲欧美一区二区视频| 亚洲一区二三| 久久中文字幕一区二区三区| 欧美日韩妖精视频| 欧美成人午夜激情| 久久国产精品久久久久久| 男女精品视频| 久久精品国产成人| 亚洲国产免费| 麻豆精品在线观看| 精品91在线| 老司机成人网| 亚洲国产综合91精品麻豆| 欧美专区在线观看一区| 亚洲国产一区在线| 久久er精品视频| 欧美电影在线观看完整版| 欧美自拍偷拍午夜视频| 亚洲精品黄网在线观看| 欧美日本国产视频| 亚洲精品一品区二品区三品区| 久久国产成人| 亚洲人成在线播放网站岛国| 国产一区在线视频| 久久婷婷麻豆| 欧美电影免费观看| 亚洲日韩欧美视频| 亚洲精品之草原avav久久| 国产精品高潮呻吟久久av黑人| 欧美在线观看一区二区三区|