title: 2D Segment/Quad Tree Explanation with C++
body: <p>P.S. This is may be not a duplicate. I searched SO and make sure that I didn't get what I am seeking for.</p>
  
  <p>I am an ACM problem solver and Recently I've learnt Segment Tree for linear array and Segment Tree with lazy propagation. But I am encountering some problems which need 2D segments tree (which is referred as Quad tree in somewhere). But I can't find any good tutorials on it. I searched SO and found a link <a href="http://e-maxx.ru/algo/segment_tree" rel="noreferrer">http://e-maxx.ru/algo/segment_tree</a> which is a tutorial in Russian language.</p>
  
  <p>I need some good explanation with source code(preferably in C++) on 2D segment Tree. It is to be noted that, I know typical segment tree pretty  well.</p>