亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? seg_tree.h

?? This software was done in part for a textbook on AI I ve written called _The Basis of AI_ (tentative
?? H
字號(hào):
/*******************************************************************************++  LEDA 3.5+++  seg_tree.h+++  Copyright (c) 1995, 1996, 1997  by  LEDA Software GmbH+  Postfach 151101, 66041 Saarbruecken, Germany+  All rights reserved.+ *******************************************************************************/#ifndef LEDA_SEGMENT_TREE_H#define LEDA_SEGMENT_TREE_H// ------------------------------------------------------------------//// full dynamic Segment Trees//// Michael Wenzel     (1990)//// Implementation follows// Kurt Mehlhorn: Data Structures and Algorithms, Vol. 3//// ------------------------------------------------------------------#include <LEDA/impl/bb1_tree.h>#include <LEDA/list.h>// ------------------------------------------------------------------// declarations and definitions // ----------------------------------------------------------------- class h_segment;typedef h_segment* h_segment_p;class seg_node_tree;typedef seg_node_tree* seg_node_list;typedef bb1_node* seg_tree_item;typedef list<seg_tree_item> list_seg_tree_item_;//------------------------------------------------------------------// class h_segment//------------------------------------------------------------------class __exportC h_segment {  GenPtr _x0;  GenPtr _x1;  GenPtr _y;  GenPtr _inf; public: GenPtr& x0()    { return _x0;   } GenPtr& x1()    { return _x1;   } GenPtr& y()     { return _y;    } GenPtr& info()  { return _inf;  } h_segment(){    _x0 = _x1 = _y = _inf = 0; } h_segment(GenPtr x0, GenPtr x1, GenPtr y, GenPtr i=0){    _x0  = x0;   _x1  = x1;   _y   = y;   _inf = i; } LEDA_MEMORY(h_segment) friend ostream& operator<<(ostream&, h_segment&); friend class __exportC Segment_Tree; friend class __exportC seg_node_tree;};/*------------------------------------------------------------------   class seg_node_tree = Dictionary(seg_tree_item , void* )-------------------------------------------------------------------*/class __exportC seg_node_tree : public bb1_tree {public:Segment_Tree* father;int cmp(GenPtr x, GenPtr y) const;list<seg_tree_item> query(GenPtr, GenPtr);list<seg_tree_item> all_items();int            defined(h_segment_p y)    { return bb1_tree::member(leda_cast(y)); }seg_tree_item  lookup(h_segment_p y)     { return bb1_tree::lookup(leda_cast(y)); }seg_tree_item  locate(h_segment_p y)     { return bb1_tree::locate(leda_cast(y)); }seg_tree_item  ord(int y)                { return bb1_tree::ord(int(y)); }seg_tree_item  insert(h_segment_p y, GenPtr i=0 )                                 { return bb1_tree::insert(leda_cast(y),i); } void del(h_segment_p y)          { delete bb1_tree::del(leda_cast(y)); } void del_item(seg_tree_item it)  { del(key(it)); } h_segment_p& key(seg_tree_item it)   	     { if (!it) error_handler(1,"seg_tree_item gleich nil");               return (h_segment_p&)it->key ; }GenPtr&   info(seg_tree_item it)              { return key(it)->info(); } void         change_inf(seg_tree_item it, GenPtr i) { key(it)->info() = i; }seg_node_tree(Segment_Tree* p)   {father = p;}virtual ~seg_node_tree()  {}friend class __exportC Segment_Tree;} ;#define forall_seg_tree_items(a,b) for ((b).init_iterator(); (a=(b).move_iterator()); )//------------------------------------------------------------------// class segment_tree//------------------------------------------------------------------class __exportC Segment_Tree  : public bb1_tree {virtual  h_segment_p new_y_h_segment(GenPtr y){ cout << "error: virtual new_y_h_segmentn"; y=0; return 0; }virtual int cmp_dim1(GenPtr,GenPtr) {return 0; }virtual int cmp_dim2(GenPtr,GenPtr) {return 0; }virtual void clear_dim1(GenPtr&) {}virtual void clear_dim2(GenPtr&) {}virtual void clear_info(GenPtr&) {}virtual void copy_dim1(GenPtr&)  {}virtual void copy_dim2(GenPtr&)  {}virtual void copy_info(GenPtr&)  {}int seg_cmp(h_segment_p p, h_segment_p q);  void lrot(bb1_item , bb1_item);  void rrot(bb1_item , bb1_item);  void ldrot(bb1_item , bb1_item);  void rdrot(bb1_item , bb1_item);  //void change_inf(bb1_item it, seg_node_list i)   { info(it) = i; }  GenPtr& key(bb1_item it)              { if (!it) error_handler(1,"bb1_item in segment_tree gleich nil");	 return it->key; }  seg_node_list& info(bb1_item it)    { return (seg_node_list&)(bb1_tree::inf(it)); }   int start_coord(bb1_item& x,seg_tree_item& i)      { return (!cmp(key(x),x0(i))); }  int end_coord(bb1_item& x,seg_tree_item& i)      { return (!cmp(key(x),x1(i))); }  int empty(bb1_item);  void clear(bb1_item& );  void print(bb1_item , string);   protected:  seg_node_tree r;                // tree with all segments  int cmp_dummy(int a, int b, int c);  public :    int cmp(GenPtr, GenPtr)  const      { cout << "error: Segment_Tree::cmpn"; return 0; }  GenPtr x0(seg_tree_item x)    { return (r.key(x))->_x0;  }  GenPtr x1(seg_tree_item x)    { return (r.key(x))->_x1;  }  GenPtr y(seg_tree_item x)     { return (r.key(x))->_y;   }  GenPtr& inf(seg_tree_item x)  { return r.info(x);        }  GenPtr& x0(h_segment_p x)   { return x->_x0; }  GenPtr& x1(h_segment_p x)   { return x->_x1; }  GenPtr& y(h_segment_p x)    { return x->_y; }  GenPtr& inf(h_segment_p x)  { return x->_inf; }  void change_inf(seg_tree_item x, GenPtr i)  { r.info(x) = i; }  seg_tree_item insert(GenPtr, GenPtr, GenPtr, GenPtr i=0 );  void del(GenPtr, GenPtr, GenPtr);  void del_item(seg_tree_item it) { del(x0(it),x1(it),y(it)) ; }  seg_tree_item lookup(GenPtr, GenPtr, GenPtr );  int member(GenPtr x0, GenPtr x1, GenPtr y) { return (lookup(x0,x1,y)!=0 ) ; }  list<seg_tree_item> query(GenPtr, GenPtr, GenPtr );  list<seg_tree_item> x_infinity_query(GenPtr, GenPtr );  list<seg_tree_item> y_infinity_query(GenPtr );  list<seg_tree_item> all_items();  void clear_tree();     Segment_Tree();   virtual ~Segment_Tree();  int size()                   { return r.size();   }  int empty()                  { return (r.size()==0) ; }  seg_tree_item y_min()        { return r.min();    }  seg_tree_item y_max()        { return r.max();    }  void init_iterator()            { r.init_iterator(); }  seg_tree_item move_iterator()   { return r.move_iterator(); }  void print_tree()               { print(root,"");    }  friend class __exportC seg_node_tree;};//------------------------------------------------------------------// typed segment_tree//------------------------------------------------------------------template <class  type1, class type2, class itype>class segment_tree : public Segment_Tree {#if !defined(LEDA_COMPARE_TEMPLATE)decl_compare_func<type1>  cmp_func1;decl_compare_func<type2>  cmp_func2;#endifh_segment_p new_y_h_segment(GenPtr y){ GenPtr p; LEDA_CREATE(type1,p);  GenPtr q; LEDA_CREATE(type2,q);  return new h_segment(p,q,y); }int cmp_dim1(GenPtr x,GenPtr y) { return LEDA_COMPARE(type1,x,y); }int cmp_dim2(GenPtr x,GenPtr y) { return LEDA_COMPARE(type2,x,y); }void clear_dim1(GenPtr& x)     { LEDA_CLEAR(type1,x); }void clear_dim2(GenPtr& x)     { LEDA_CLEAR(type2,x); }void clear_info(GenPtr& x)     { LEDA_CLEAR(itype,x); }void copy_dim1(GenPtr& x)     { LEDA_COPY(type1,x); }void copy_dim2(GenPtr& x)     { LEDA_COPY(type2,x); }void copy_info(GenPtr& x)     { LEDA_COPY(itype,x); }int cmp(GenPtr x, GenPtr y) const { return LEDA_COMPARE(type1,x,y);}public:const type1& x0(seg_tree_item it){ return LEDA_CONST_ACCESS(type1,Segment_Tree::x0(it)); }const type1& x1(seg_tree_item it){ return LEDA_CONST_ACCESS(type1,Segment_Tree::x1(it)); }const type2&  y(seg_tree_item it){ return LEDA_CONST_ACCESS(type2,Segment_Tree::y(it));  }const itype& inf(seg_tree_item it){ return LEDA_CONST_ACCESS(itype,Segment_Tree::inf(it));}seg_tree_item insert(type1 x0, type1 x1, type2 y, itype i){ return Segment_Tree::insert(leda_cast(x0),leda_cast(x1),leda_cast(y),leda_cast(i)); }void del(type1 x0, type1 x1, type2 y){ Segment_Tree::del(leda_cast(x0),leda_cast(x1),leda_cast(y)); }seg_tree_item lookup(type1 x0, type1 x1, type2 y){ return Segment_Tree::lookup(leda_cast(x0),leda_cast(x1),leda_cast(y)); }int member(type1 x0, type1 x1, type2 y){ return Segment_Tree::member(leda_cast(x0),leda_cast(x1),leda_cast(y)); }list<seg_tree_item> query(type1 x,type2 y0,type2 y1){ return Segment_Tree::query(leda_cast(x),leda_cast(y0),leda_cast(y1)); }list<seg_tree_item> x_infinity_query(type2 y0,type2 y1){ return Segment_Tree::x_infinity_query(leda_cast(y0),leda_cast(y1)); }list<seg_tree_item> y_infinity_query(type1 x){ return Segment_Tree::y_infinity_query(leda_cast(x)); }segment_tree()  {}~segment_tree() { seg_tree_item z;  forall_seg_tree_items(z,r)  { type1 t1 = x0(z); leda_clear(t1);           t1 = x1(z); leda_clear(t1);     type2 t2 = y(z);  leda_clear(t2);     itype i  = inf(z); leda_clear(i);     delete r.key(z); } }} ;#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人tv| 3atv在线一区二区三区| 欧美日韩1区2区| 欧美经典一区二区| 热久久免费视频| 欧美在线观看一区| 国产精品久久99| 国产麻豆精品一区二区| 91精品国产免费| 亚洲天天做日日做天天谢日日欢| 久久精品久久久精品美女| 在线看国产一区| 中文字幕日韩精品一区 | 欧美www视频| 亚洲国产va精品久久久不卡综合| 成人在线视频首页| www激情久久| 久久99精品久久久久久久久久久久 | 久久九九国产精品| 久草精品在线观看| 91精品国产一区二区| 亚洲国产一区二区三区青草影视| 91视频一区二区| 亚洲少妇最新在线视频| 99久久精品国产精品久久| 中文子幕无线码一区tr| 国产一区二区精品在线观看| 久久一留热品黄| 国产精品自在在线| 欧美经典一区二区三区| 东方欧美亚洲色图在线| 国产精品传媒在线| 99精品久久免费看蜜臀剧情介绍| 国产精品欧美极品| 99久久er热在这里只有精品15 | 亚洲成在人线在线播放| 色又黄又爽网站www久久| 亚洲欧美日韩系列| 91黄色小视频| 午夜精品久久久久久久久| 7777精品伊人久久久大香线蕉最新版| 亚洲成av人在线观看| 日韩欧美一区二区久久婷婷| 经典一区二区三区| 亚洲欧美中日韩| 91国产成人在线| 日韩精品亚洲专区| 日韩美女主播在线视频一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 2014亚洲片线观看视频免费| 国产米奇在线777精品观看| 国产精品素人视频| 欧美性猛片xxxx免费看久爱| 免费在线观看一区| 中文字幕乱码久久午夜不卡| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产视频a| 91精品国模一区二区三区| 裸体健美xxxx欧美裸体表演| 国产日韩一级二级三级| 在线视频中文字幕一区二区| 午夜电影久久久| 久久久久久久久久久久久女国产乱 | 555夜色666亚洲国产免| 国产精品一区二区黑丝| 亚洲欧美日韩综合aⅴ视频| 91精品午夜视频| 国产成人精品一区二| 亚洲第一久久影院| 久久婷婷国产综合国色天香| 一本大道久久a久久综合婷婷| 亚洲高清视频中文字幕| 精品久久五月天| 色香色香欲天天天影视综合网| 奇米精品一区二区三区在线观看一| 久久久国产精华| 欧美日韩精品一区二区三区蜜桃 | 婷婷丁香久久五月婷婷| 国产精品理伦片| 欧美一级国产精品| 99精品久久只有精品| 国内久久精品视频| 偷拍一区二区三区| 日本一区二区免费在线| 日韩精品中文字幕一区| 欧美午夜精品一区| 99视频精品在线| 国产精品99久久久久久久女警| 亚洲综合区在线| 国产精品亲子乱子伦xxxx裸| 精品国产三级电影在线观看| 欧美日韩一区国产| 99久久精品一区| 国产凹凸在线观看一区二区| 首页综合国产亚洲丝袜| 中文字幕一区二区三区在线播放 | 欧洲国内综合视频| 99热99精品| 成人动漫av在线| 国产精品亚洲人在线观看| 日韩激情视频网站| 日韩制服丝袜av| 亚洲bt欧美bt精品| 一级女性全黄久久生活片免费| 国产精品欧美一级免费| 日本一区二区三区国色天香| 久久精品亚洲精品国产欧美kt∨ | 麻豆国产精品视频| 日日骚欧美日韩| 天天av天天翘天天综合网色鬼国产| 一区二区三区在线观看网站| 亚洲免费在线视频一区 二区| 国产三区在线成人av| 欧美国产日韩a欧美在线观看| 精品国产亚洲在线| 久久综合色之久久综合| 久久亚洲影视婷婷| 久久在线免费观看| 久久综合狠狠综合久久综合88| 久久午夜国产精品| 国产婷婷一区二区| 国产精品理伦片| 亚洲免费观看高清完整版在线 | 亚洲成人自拍偷拍| 天天免费综合色| 精品一区二区在线免费观看| 狠狠色综合日日| www.欧美.com| 色婷婷综合久久久中文字幕| 欧美日韩一二三区| 精品少妇一区二区三区在线视频| 久久在线观看免费| 一区在线中文字幕| 亚洲午夜视频在线| 久久精品国产**网站演员| 国产成人超碰人人澡人人澡| 99re热视频精品| 欧美另类videos死尸| 欧美精品一区在线观看| 亚洲视频电影在线| 偷拍与自拍一区| 国产精品一级二级三级| 一本大道久久a久久精二百| 欧美精品自拍偷拍动漫精品| 国产亚洲视频系列| 亚洲激情第一区| 韩国三级中文字幕hd久久精品| 成人在线视频首页| 制服视频三区第一页精品| 久久久久久久久免费| 亚洲国产乱码最新视频| 久久成人18免费观看| av一二三不卡影片| 欧美一卡二卡三卡| 亚洲天堂2016| 国产真实乱子伦精品视频| 日本高清视频一区二区| 精品久久久久久久久久久院品网 | 久久精品噜噜噜成人88aⅴ| 99久久免费精品高清特色大片| 欧美一级搡bbbb搡bbbb| 综合久久国产九一剧情麻豆| 麻豆精品一区二区| 欧美专区日韩专区| 国产精品美女视频| 美女性感视频久久| 欧美中文一区二区三区| 国产欧美一区二区精品忘忧草| 香蕉影视欧美成人| 91小视频免费观看| 久久久综合九色合综国产精品| 午夜欧美2019年伦理| 色94色欧美sute亚洲线路一久| 久久久久亚洲蜜桃| 日本特黄久久久高潮| 色呦呦日韩精品| 国产精品免费视频网站| 精品制服美女丁香| 欧美精品成人一区二区三区四区| 综合自拍亚洲综合图不卡区| 国产成人自拍网| 久久亚洲精精品中文字幕早川悠里| 五月婷婷综合在线| 欧美网站大全在线观看| 一区二区三区精品| 91浏览器在线视频| 亚洲三级小视频| 99久久久免费精品国产一区二区| 欧美国产日韩a欧美在线观看| 国产一区二三区| 2021久久国产精品不只是精品| 九九视频精品免费| 精品久久久久久无| 精品一区二区日韩| 久久亚洲综合色| 丰满放荡岳乱妇91ww| 国产精品午夜免费| 成人av免费在线| 亚洲久草在线视频| 色哦色哦哦色天天综合|