Documentation for 0953376d31

This commit is contained in:
github-actions
2023-06-16 21:18:14 +00:00
parent 26f1eee566
commit 14deeecd50
7241 changed files with 234176 additions and 54779 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: range_queries::perSegTree Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -41,7 +41,7 @@ MathJax.Hub.Config({
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -112,8 +112,7 @@ $(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_
<div class="dynheader">
Collaboration diagram for range_queries::perSegTree:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg" width="100%" height="450"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg" width="100%" height="450"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
@@ -210,17 +209,16 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>n</b> = 0</td></t
<div class="line"><span class="lineno"> 206</span> <span class="keyword">auto</span> root = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">construct</a>(0, n - 1);</div>
<div class="line"><span class="lineno"> 207</span> <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(root);</div>
<div class="line"><span class="lineno"> 208</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a1eac9cf0613dfc8e2b0195009dd5c9d5"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">range_queries::perSegTree::ptrs</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; Node &gt; &gt; ptrs</div><div class="ttdoc">number of elements/leaf nodes in the segment tree</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:54</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a6d3f2465a7c5803a1ff16c5378bcc5e4"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">range_queries::perSegTree::construct</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; construct(const uint32_t &amp;i, const uint32_t &amp;j)</div><div class="ttdoc">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:106</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a8ff495d2f389b4aaa54449c26c6078f3"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">range_queries::perSegTree::vec</a></div><div class="ttdeci">std::vector&lt; int64_t &gt; vec</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:57</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a1eac9cf0613dfc8e2b0195009dd5c9d5"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">range_queries::perSegTree::ptrs</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; Node &gt; &gt; ptrs</div><div class="ttdoc">number of elements/leaf nodes in the segment tree</div><div class="ttdef"><b>Definition</b> persistent_seg_tree_lazy_prop.cpp:54</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a6d3f2465a7c5803a1ff16c5378bcc5e4"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">range_queries::perSegTree::construct</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; construct(const uint32_t &amp;i, const uint32_t &amp;j)</div><div class="ttdoc">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...</div><div class="ttdef"><b>Definition</b> persistent_seg_tree_lazy_prop.cpp:106</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a8ff495d2f389b4aaa54449c26c6078f3"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">range_queries::perSegTree::vec</a></div><div class="ttdeci">std::vector&lt; int64_t &gt; vec</div><div class="ttdef"><b>Definition</b> persistent_seg_tree_lazy_prop.cpp:57</div></div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg" width="414" height="224"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg" width="414" height="224"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -282,12 +280,11 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 117</span> }</div>
<div class="line"><span class="lineno"> 118</span> <span class="keywordflow">return</span> newNode;</div>
<div class="line"><span class="lineno"> 119</span> }</div>
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:14</div></div>
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition</b> linkedlist_implentation_usingarray.cpp:14</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg" width="188" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg" width="188" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -347,7 +344,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 87</span> }</div>
<div class="line"><span class="lineno"> 88</span> curr-&gt;val += (j - i + 1) * curr-&gt;prop;</div>
<div class="line"><span class="lineno"> 89</span> if (i != j) {</div>
<div class="line"><span class="lineno"> 89</span> <span class="keywordflow">if</span> (i != j) {</div>
<div class="line"><span class="lineno"> 90</span> curr-&gt;left = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a>(curr-&gt;left);</div>
<div class="line"><span class="lineno"> 91</span> curr-&gt;right = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a>(curr-&gt;right);</div>
<div class="line"><span class="lineno"> 92</span> curr-&gt;left-&gt;prop += curr-&gt;prop;</div>
@@ -355,12 +352,11 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 94</span> }</div>
<div class="line"><span class="lineno"> 95</span> curr-&gt;prop = 0;</div>
<div class="line"><span class="lineno"> 96</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a0cec4b77d264521717cf9b0482c45817"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">range_queries::perSegTree::newKid</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; newKid(std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Creating a new node with the same values of curr node.</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:65</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a0cec4b77d264521717cf9b0482c45817"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">range_queries::perSegTree::newKid</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; newKid(std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Creating a new node with the same values of curr node.</div><div class="ttdef"><b>Definition</b> persistent_seg_tree_lazy_prop.cpp:65</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg" width="414" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg" width="414" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -484,13 +480,12 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 181</span> <span class="keywordflow">return</span> <a class="code hl_struct" href="../../dd/d1b/structquery.html">query</a>(i, mid, l, r, curr-&gt;left) +</div>
<div class="line"><span class="lineno"> 182</span> <a class="code hl_struct" href="../../dd/d1b/structquery.html">query</a>(mid + 1, j, l, r, curr-&gt;right);</div>
<div class="line"><span class="lineno"> 183</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ace7f57935b3bb9446f11c239fd89ae79"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">range_queries::perSegTree::lazy</a></div><div class="ttdeci">void lazy(const uint32_t &amp;i, const uint32_t &amp;j, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">If there is some value to be propagated to the passed node, value is added to the node and the childr...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:83</div></div>
<div class="ttc" id="astructquery_html"><div class="ttname"><a href="../../dd/d1b/structquery.html">query</a></div><div class="ttdef"><b>Definition:</b> mo.cpp:6</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ace7f57935b3bb9446f11c239fd89ae79"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">range_queries::perSegTree::lazy</a></div><div class="ttdeci">void lazy(const uint32_t &amp;i, const uint32_t &amp;j, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">If there is some value to be propagated to the passed node, value is added to the node and the childr...</div><div class="ttdef"><b>Definition</b> persistent_seg_tree_lazy_prop.cpp:83</div></div>
<div class="ttc" id="astructquery_html"><div class="ttname"><a href="../../dd/d1b/structquery.html">query</a></div><div class="ttdef"><b>Definition</b> mo.cpp:6</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg" width="639" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg" width="639" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -582,8 +577,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg" width="352" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg" width="352" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -677,13 +671,12 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 153</span> newNode-&gt;val = newNode-&gt;left-&gt;val + newNode-&gt;right-&gt;val;</div>
<div class="line"><span class="lineno"> 154</span> <span class="keywordflow">return</span> newNode;</div>
<div class="line"><span class="lineno"> 155</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a24487eda25123bc4d112e8430821a6c6"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">range_queries::perSegTree::update</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; update(const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, const int64_t &amp;value, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:135</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a24487eda25123bc4d112e8430821a6c6"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">range_queries::perSegTree::update</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; update(const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, const int64_t &amp;value, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...</div><div class="ttdef"><b>Definition</b> persistent_seg_tree_lazy_prop.cpp:135</div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg" width="639" height="82"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg" width="639" height="82"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
@@ -747,8 +740,7 @@ Here is the call graph for this function:</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg" width="100%" height="431"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg" width="100%" height="431"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
@@ -786,7 +778,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d69/namespacerange__queries.html">range_queries</a></li><li class="navelem"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7 </li>
</ul>
</div>
</body>

View File

@@ -1,4 +1,5 @@
<map id="range_queries::perSegTree::size" name="range_queries::perSegTree::size">
<area shape="rect" id="node1" title="Getting the number of versions after updates so far which is equal to the size of the pointers vector..." alt="" coords="5,5,183,46"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="231,13,346,39"/>
<area shape="rect" id="Node000001" title="Getting the number of versions after updates so far which is equal to the size of the pointers vector..." alt="" coords="5,5,183,46"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="231,13,346,39"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="183,23,216,23,216,28,183,28"/>
</map>

View File

@@ -1 +1 @@
b6922ddd21c15e11a766a1a2a895ba5a
2bb15eacdd647af484c00ea092c5b3f4

View File

@@ -6,12 +6,22 @@
<!-- Title: range_queries::perSegTree::size Pages: 1 -->
<svg width="264pt" height="39pt"
viewBox="0.00 0.00 263.50 38.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 34.5)">
<title>range_queries::perSegTree::size</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
<g id="a_Node000001"><a xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
@@ -19,19 +29,37 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="255.5,-24.88 169,-24.88 169,-5.63 255.5,-5.63 255.5,-24.88"/>
<text text-anchor="middle" x="212.25" y="-11.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.48,-15.25C141.61,-15.25 149.84,-15.25 157.75,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.68,-18.75 167.68,-15.25 157.68,-11.75 157.68,-18.75"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries::perSegTree::size Pages: 1 -->
<svg width="264pt" height="39pt"
viewBox="0.00 0.00 263.50 38.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 34.5)">
<title>range_queries::perSegTree::size</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="255.5,-24.88 169,-24.88 169,-5.63 255.5,-5.63 255.5,-24.88"/>
<text text-anchor="middle" x="212.25" y="-11.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.48,-15.25C141.61,-15.25 149.84,-15.25 157.75,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.68,-18.75 167.68,-15.25 157.68,-11.75 157.68,-18.75"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,5 +1,9 @@
<map id="range_queries::perSegTree::update" name="range_queries::perSegTree::update">
<area shape="rect" id="node1" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="5,35,183,75"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="231,5,408,46"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="456,35,633,75"/>
<area shape="rect" id="Node000001" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="5,35,183,75"/>
<area shape="poly" id="edge4_Node000001_Node000001" title=" " alt="" coords="51,35,49,25,56,16,71,10,94,8,119,11,133,17,131,22,118,16,94,13,73,15,60,20,55,26,57,33"/>
<area shape="rect" id="Node000002" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="231,5,408,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="182,41,215,36,216,42,183,46"/>
<area shape="rect" id="Node000003" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="456,35,633,75"/>
<area shape="poly" id="edge3_Node000001_Node000003" title=" " alt="" coords="183,54,231,55,408,55,441,55,441,60,408,60,231,60,183,60"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="408,35,441,39,441,44,408,40"/>
</map>

View File

@@ -1 +1 @@
825f38d86bc4503a8e34448c9cf6b82d
91a5a7f30e144f4b3c16504ead40a0c8

View File

@@ -6,12 +6,22 @@
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
<svg width="479pt" height="61pt"
viewBox="0.00 0.00 479.00 60.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 56.5)">
<title>range_queries::perSegTree::update</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<g id="a_Node000001"><a xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
@@ -19,15 +29,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge4_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M36.55,-30.99C30.44,-40.06 40.42,-48.5 66.5,-48.5 81.17,-48.5 90.74,-45.83 95.23,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="98.81,-42.31 96.45,-31.99 91.86,-41.53 98.81,-42.31"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="#666666" points="302,-52.5 169,-52.5 169,-22 302,-22 302,-52.5"/>
<text text-anchor="start" x="177" y="-39" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-27.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
@@ -35,15 +48,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-23.88C141.16,-24.95 149.53,-26.06 157.81,-27.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.25,-30.73 167.62,-28.57 158.16,-23.79 157.25,-30.73"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_Node000003"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="471,-30.5 338,-30.5 338,0 471,0 471,-30.5"/>
<text text-anchor="start" x="346" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="404.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
@@ -51,16 +67,37 @@
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.29,-13.76C145.18,-13.55 157.46,-13.36 169,-13.25 228.11,-12.67 242.89,-12.67 302,-13.25 310.03,-13.33 318.41,-13.44 326.77,-13.58"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="326.65,-17.09 336.71,-13.76 326.77,-10.09 326.65,-17.09"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.02,-28.62C310.16,-27.55 318.53,-26.44 326.81,-25.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="327.16,-28.71 336.62,-23.93 326.25,-21.77 327.16,-28.71"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
<svg width="479pt" height="61pt"
viewBox="0.00 0.00 479.00 60.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 56.5)">
<title>range_queries::perSegTree::update</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge4_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge4_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M36.55,-30.99C30.44,-40.06 40.42,-48.5 66.5,-48.5 81.17,-48.5 90.74,-45.83 95.23,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="98.81,-42.31 96.45,-31.99 91.86,-41.53 98.81,-42.31"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="#666666" points="302,-52.5 169,-52.5 169,-22 302,-22 302,-52.5"/>
<text text-anchor="start" x="177" y="-39" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-27.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-23.88C141.16,-24.95 149.53,-26.06 157.81,-27.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.25,-30.73 167.62,-28.57 158.16,-23.79 157.25,-30.73"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="471,-30.5 338,-30.5 338,0 471,0 471,-30.5"/>
<text text-anchor="start" x="346" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="404.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.29,-13.76C145.18,-13.55 157.46,-13.36 169,-13.25 228.11,-12.67 242.89,-12.67 302,-13.25 310.03,-13.33 318.41,-13.44 326.77,-13.58"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="326.65,-17.09 336.71,-13.76 326.77,-10.09 326.65,-17.09"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.02,-28.62C310.16,-27.55 318.53,-26.44 326.81,-25.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="327.16,-28.71 336.62,-23.93 326.25,-21.77 327.16,-28.71"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,3 +1,4 @@
<map id="range_queries::perSegTree::construct" name="range_queries::perSegTree::construct">
<area shape="rect" id="node1" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="5,29,183,70"/>
<area shape="rect" id="Node000001" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="5,29,183,70"/>
<area shape="poly" id="edge1_Node000001_Node000001" title=" " alt="" coords="60,29,58,19,64,10,76,5,94,3,114,5,125,12,123,16,112,10,94,8,77,10,67,14,64,20,65,28"/>
</map>

View File

@@ -1 +1 @@
07b5a026a85f4e89b0cf8e62e7b1daa0
6c6414afbd33f8d09864d085bdbd7a56

View File

@@ -6,12 +6,22 @@
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
<svg width="141pt" height="57pt"
viewBox="0.00 0.00 141.00 56.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 52.5)">
<title>range_queries::perSegTree::construct</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<g id="a_Node000001"><a xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
@@ -19,10 +29,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge1_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M42.93,-30.99C38.12,-40.06 45.98,-48.5 66.5,-48.5 78.04,-48.5 85.58,-45.83 89.11,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="92.68,-42.25 90.07,-31.99 85.7,-41.64 92.68,-42.25"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
<svg width="141pt" height="57pt"
viewBox="0.00 0.00 141.00 56.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 52.5)">
<title>range_queries::perSegTree::construct</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge1_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M42.93,-30.99C38.12,-40.06 45.98,-48.5 66.5,-48.5 78.04,-48.5 85.58,-45.83 89.11,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="92.68,-42.25 90.07,-31.99 85.7,-41.64 92.68,-42.25"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,7 +1,12 @@
<map id="range_queries::perSegTree::construct" name="range_queries::perSegTree::construct">
<area shape="rect" id="node1" title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i..." alt="" coords="5,112,183,153"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="231,29,408,70"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/empty.html#" title=" " alt="" coords="256,94,383,120"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="242,144,397,169"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="262,193,377,219"/>
<area shape="rect" id="Node000001" title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i..." alt="" coords="5,112,183,153"/>
<area shape="rect" id="Node000002" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="231,29,408,70"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="150,109,230,79,246,73,248,78,232,84,152,114"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/empty.html#" title=" " alt="" coords="256,94,383,120"/>
<area shape="poly" id="edge3_Node000001_Node000003" title=" " alt="" coords="182,120,241,113,242,118,183,125"/>
<area shape="rect" id="Node000004" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="242,144,397,169"/>
<area shape="poly" id="edge4_Node000001_Node000004" title=" " alt="" coords="183,139,228,144,227,149,182,144"/>
<area shape="rect" id="Node000005" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="262,193,377,219"/>
<area shape="poly" id="edge5_Node000001_Node000005" title=" " alt="" coords="151,151,231,179,253,186,252,191,230,184,149,156"/>
<area shape="poly" id="edge2_Node000002_Node000002" title=" " alt="" coords="277,29,275,19,282,10,297,5,319,3,344,5,359,12,357,17,343,10,319,8,298,10,285,15,280,21,282,28"/>
</map>

View File

@@ -1 +1 @@
f9de96d768be08b759ad14b391f0888a
be302fd57973e550a4e58515722cb6b6

View File

@@ -6,12 +6,22 @@
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
<svg width="310pt" height="168pt"
viewBox="0.00 0.00 310.00 167.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 163.88)">
<title>range_queries::perSegTree::construct</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i...">
<g id="a_Node000001"><a xlink:title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i...">
<polygon fill="#999999" stroke="#666666" points="133,-79.88 0,-79.88 0,-49.38 133,-49.38 133,-79.88"/>
<text text-anchor="start" x="8" y="-66.38" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-55.12" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<polygon fill="white" stroke="#666666" points="302,-141.88 169,-141.88 169,-111.38 302,-111.38 302,-141.88"/>
<text text-anchor="start" x="177" y="-128.38" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-117.12" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
@@ -29,61 +39,91 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M108.96,-80.22C127.34,-87.12 149.24,-95.31 169,-102.62 172.97,-104.1 177.09,-105.62 181.23,-107.14"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="179.91,-110.75 190.5,-110.92 182.32,-104.18 179.91,-110.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/empty.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="283.25,-93.25 187.75,-93.25 187.75,-74 283.25,-74 283.25,-93.25"/>
<text text-anchor="middle" x="235.5" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::empty</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-72.08C147.51,-73.73 162.76,-75.46 176.91,-77.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="176.15,-80.62 186.48,-78.28 176.94,-73.67 176.15,-80.62"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="293.38,-56.25 177.62,-56.25 177.62,-37 293.38,-37 293.38,-56.25"/>
<text text-anchor="middle" x="235.5" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<g id="edge4_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge4_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-57.56C143.99,-56.38 155.39,-55.15 166.42,-53.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="166.72,-57.34 176.29,-52.79 165.97,-50.38 166.72,-57.34"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="278.75,-19.25 192.25,-19.25 192.25,0 278.75,0 278.75,-19.25"/>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<g id="edge5_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge5_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M108.23,-48.92C126.67,-42.03 148.81,-34.07 169,-27.62 174.27,-25.94 179.81,-24.27 185.34,-22.67"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="186.24,-25.77 194.9,-19.67 184.33,-19.03 186.24,-25.77"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M205.55,-142.36C199.44,-151.43 209.42,-159.88 235.5,-159.88 250.17,-159.88 259.74,-157.2 264.23,-153.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="267.81,-153.69 265.45,-143.36 260.86,-152.91 267.81,-153.69"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
<svg width="310pt" height="168pt"
viewBox="0.00 0.00 310.00 167.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 163.88)">
<title>range_queries::perSegTree::construct</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i...">
<polygon fill="#999999" stroke="#666666" points="133,-79.88 0,-79.88 0,-49.38 133,-49.38 133,-79.88"/>
<text text-anchor="start" x="8" y="-66.38" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-55.12" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<polygon fill="white" stroke="#666666" points="302,-141.88 169,-141.88 169,-111.38 302,-111.38 302,-141.88"/>
<text text-anchor="start" x="177" y="-128.38" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-117.12" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M108.96,-80.22C127.34,-87.12 149.24,-95.31 169,-102.62 172.97,-104.1 177.09,-105.62 181.23,-107.14"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="179.91,-110.75 190.5,-110.92 182.32,-104.18 179.91,-110.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="283.25,-93.25 187.75,-93.25 187.75,-74 283.25,-74 283.25,-93.25"/>
<text text-anchor="middle" x="235.5" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::empty</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-72.08C147.51,-73.73 162.76,-75.46 176.91,-77.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="176.15,-80.62 186.48,-78.28 176.94,-73.67 176.15,-80.62"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="293.38,-56.25 177.62,-56.25 177.62,-37 293.38,-37 293.38,-56.25"/>
<text text-anchor="middle" x="235.5" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge4_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge4_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-57.56C143.99,-56.38 155.39,-55.15 166.42,-53.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="166.72,-57.34 176.29,-52.79 165.97,-50.38 166.72,-57.34"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="278.75,-19.25 192.25,-19.25 192.25,0 278.75,0 278.75,-19.25"/>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge5_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M108.23,-48.92C126.67,-42.03 148.81,-34.07 169,-27.62 174.27,-25.94 179.81,-24.27 185.34,-22.67"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="186.24,-25.77 194.9,-19.67 184.33,-19.03 186.24,-25.77"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M205.55,-142.36C199.44,-151.43 209.42,-159.88 235.5,-159.88 250.17,-159.88 259.74,-157.2 264.23,-153.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="267.81,-153.69 265.45,-143.36 260.86,-152.91 267.81,-153.69"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -1,4 +1,5 @@
<map id="range_queries::perSegTree::lazy" name="range_queries::perSegTree::lazy">
<area shape="rect" id="node1" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="5,5,183,46"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="231,5,408,46"/>
<area shape="rect" id="Node000001" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="5,5,183,46"/>
<area shape="rect" id="Node000002" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="231,5,408,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="183,23,216,23,216,28,183,28"/>
</map>

View File

@@ -1 +1 @@
2e80dd5b4c23b6019f03ea71dece40b8
ef3518596e433556acaa5556fb2bae5e

View File

@@ -6,12 +6,22 @@
<!-- Title: range_queries::perSegTree::lazy Pages: 1 -->
<svg width="310pt" height="39pt"
viewBox="0.00 0.00 310.00 38.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 34.5)">
<title>range_queries::perSegTree::lazy</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<g id="a_Node000001"><a xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="302,-30.5 169,-30.5 169,0 302,0 302,-30.5"/>
<text text-anchor="start" x="177" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
@@ -29,10 +39,28 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-15.25C141.16,-15.25 149.53,-15.25 157.81,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.62,-18.75 167.62,-15.25 157.62,-11.75 157.62,-18.75"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries::perSegTree::lazy Pages: 1 -->
<svg width="310pt" height="39pt"
viewBox="0.00 0.00 310.00 38.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 34.5)">
<title>range_queries::perSegTree::lazy</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="302,-30.5 169,-30.5 169,0 302,0 302,-30.5"/>
<text text-anchor="start" x="177" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-15.25C141.16,-15.25 149.53,-15.25 157.81,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.62,-18.75 167.62,-15.25 157.62,-11.75 157.62,-18.75"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,5 +1,7 @@
<map id="range_queries::perSegTree::query" name="range_queries::perSegTree::query">
<area shape="rect" id="node1" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="5,5,183,46"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="231,5,408,46"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="456,5,633,46"/>
<area shape="rect" id="Node000001" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="5,5,183,46"/>
<area shape="rect" id="Node000002" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="231,5,408,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="183,23,216,23,216,28,183,28"/>
<area shape="rect" id="Node000003" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="456,5,633,46"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="408,23,441,23,441,28,408,28"/>
</map>

View File

@@ -1 +1 @@
377e112edd92f9a3810a66a56ef5c934
49b1384190e585e38d4d2029d902fd45

View File

@@ -6,12 +6,22 @@
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
<svg width="479pt" height="39pt"
viewBox="0.00 0.00 479.00 38.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 34.5)">
<title>range_queries::perSegTree::query</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
<g id="a_Node000001"><a xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
@@ -19,9 +29,9 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="#666666" points="302,-30.5 169,-30.5 169,0 302,0 302,-30.5"/>
<text text-anchor="start" x="177" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
@@ -29,15 +39,18 @@
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-15.25C141.16,-15.25 149.53,-15.25 157.81,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.62,-18.75 167.62,-15.25 157.62,-11.75 157.62,-18.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_Node000003"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="471,-30.5 338,-30.5 338,0 471,0 471,-30.5"/>
<text text-anchor="start" x="346" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="404.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
@@ -45,10 +58,28 @@
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.02,-15.25C310.16,-15.25 318.53,-15.25 326.81,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="326.62,-18.75 336.62,-15.25 326.62,-11.75 326.62,-18.75"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
<svg width="479pt" height="39pt"
viewBox="0.00 0.00 479.00 38.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 34.5)">
<title>range_queries::perSegTree::query</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
<polygon fill="#999999" stroke="#666666" points="133,-30.5 0,-30.5 0,0 133,0 133,-30.5"/>
<text text-anchor="start" x="8" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="#666666" points="302,-30.5 169,-30.5 169,0 302,0 302,-30.5"/>
<text text-anchor="start" x="177" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-15.25C141.16,-15.25 149.53,-15.25 157.81,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.62,-18.75 167.62,-15.25 157.62,-11.75 157.62,-18.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="471,-30.5 338,-30.5 338,0 471,0 471,-30.5"/>
<text text-anchor="start" x="346" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="404.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.02,-15.25C310.16,-15.25 318.53,-15.25 326.81,-15.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="326.62,-18.75 336.62,-15.25 326.62,-11.75 326.62,-18.75"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,8 +1,15 @@
<map id="range_queries::perSegTree::update" name="range_queries::perSegTree::update">
<area shape="rect" id="node1" title="Doing range update by passing the left and right indexes of the range as well as the value to be adde..." alt="" coords="5,47,183,88"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="242,5,397,31"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="262,55,377,80"/>
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="231,129,408,169"/>
<area shape="rect" id="node5" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="456,99,633,140"/>
<area shape="rect" id="node6" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="681,129,859,169"/>
<area shape="rect" id="Node000001" title="Doing range update by passing the left and right indexes of the range as well as the value to be adde..." alt="" coords="5,47,183,88"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="242,5,397,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="182,46,243,32,244,37,183,51"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="262,55,377,80"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="183,65,247,65,247,70,183,70"/>
<area shape="rect" id="Node000004" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="231,129,408,169"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="154,86,248,120,246,125,152,91"/>
<area shape="poly" id="edge7_Node000004_Node000004" title=" " alt="" coords="277,128,275,119,282,109,297,104,319,102,344,104,359,111,357,116,343,110,319,107,298,109,285,114,280,120,282,127"/>
<area shape="rect" id="Node000005" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="456,99,633,140"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="408,135,441,130,441,136,408,140"/>
<area shape="rect" id="Node000006" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="681,129,859,169"/>
<area shape="poly" id="edge6_Node000004_Node000006" title=" " alt="" coords="408,148,456,149,633,149,666,148,666,154,633,154,456,154,408,153"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="634,128,667,133,666,138,633,134"/>
</map>

View File

@@ -1 +1 @@
a769c1119074d6b00ed2c7de40d2aba2
cb6ff7d8ad587c855e5fa1152def7d89

View File

@@ -5,59 +5,59 @@
-->
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
<!--zoomable 131 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 648;
var viewHeight = 131;
var sectionId = 'dynsection-7';
</script>
<script xlink:href="../../svgpan.js"/>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>range_queries::perSegTree::update</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
<g id="a_Node000001"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
<polygon fill="#999999" stroke="#666666" points="133,-91.5 0,-91.5 0,-61 133,-61 133,-91.5"/>
<text text-anchor="start" x="8" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
@@ -65,39 +65,45 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="293.38,-122.88 177.62,-122.88 177.62,-103.62 293.38,-103.62 293.38,-122.88"/>
<text text-anchor="middle" x="235.5" y="-109.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-90.77C148.1,-94.11 163.99,-97.63 178.61,-100.87"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="177.48,-104.42 188.01,-103.17 179,-97.59 177.48,-104.42"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="278.75,-85.88 192.25,-85.88 192.25,-66.62 278.75,-66.62 278.75,-85.88"/>
<text text-anchor="middle" x="235.5" y="-72.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-76.25C148.91,-76.25 165.7,-76.25 180.96,-76.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="180.76,-79.75 190.76,-76.25 180.76,-72.75 180.76,-79.75"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<g id="a_Node000004"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<polygon fill="white" stroke="#666666" points="302,-30.5 169,-30.5 169,0 302,0 302,-30.5"/>
<text text-anchor="start" x="177" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
@@ -105,21 +111,27 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M110.51,-60.54C132.13,-52.64 158.53,-43 181.41,-34.64"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="182.45,-37.62 190.64,-30.91 180.05,-31.05 182.45,-37.62"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node4 -->
<g id="edge7" class="edge">
<g id="edge7_Node000004_Node000004" class="edge">
<title>Node4&#45;&gt;Node4</title>
<g id="a_edge7_Node000004_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M205.55,-30.99C199.44,-40.06 209.42,-48.5 235.5,-48.5 250.17,-48.5 259.74,-45.83 264.23,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="267.81,-42.31 265.45,-31.99 260.86,-41.53 267.81,-42.31"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<g id="a_Node000005"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="#666666" points="471,-52.5 338,-52.5 338,-22 471,-22 471,-52.5"/>
<text text-anchor="start" x="346" y="-39" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="404.5" y="-27.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
@@ -127,15 +139,18 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.02,-23.88C310.16,-24.95 318.53,-26.06 326.81,-27.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="326.25,-30.73 336.62,-28.57 327.16,-23.79 326.25,-30.73"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_Node000006"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="640,-30.5 507,-30.5 507,0 640,0 640,-30.5"/>
<text text-anchor="start" x="515" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="573.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
@@ -143,58 +158,58 @@ var sectionId = 'dynsection-7';
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<g id="edge6_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge6_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.29,-13.76C314.18,-13.55 326.46,-13.36 338,-13.25 397.11,-12.67 411.89,-12.67 471,-13.25 479.03,-13.33 487.41,-13.44 495.77,-13.58"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="495.65,-17.09 505.71,-13.76 495.77,-10.09 495.65,-17.09"/>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M471.02,-28.62C479.16,-27.55 487.53,-26.44 495.81,-25.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="496.16,-28.71 505.62,-23.93 495.25,-21.77 496.16,-28.71"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -9,9 +9,9 @@
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 126.88)">
<title>range_queries::perSegTree::update</title>
<!-- Node1 -->
<g id="node1" class="node">
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
<g id="a_Node000001"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
<polygon fill="#999999" stroke="#666666" points="133,-91.5 0,-91.5 0,-61 133,-61 133,-91.5"/>
<text text-anchor="start" x="8" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="66.5" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
@@ -19,39 +19,45 @@
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="293.38,-122.88 177.62,-122.88 177.62,-103.62 293.38,-103.62 293.38,-122.88"/>
<text text-anchor="middle" x="235.5" y="-109.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-90.77C148.1,-94.11 163.99,-97.63 178.61,-100.87"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="177.48,-104.42 188.01,-103.17 179,-97.59 177.48,-104.42"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="278.75,-85.88 192.25,-85.88 192.25,-66.62 278.75,-66.62 278.75,-85.88"/>
<text text-anchor="middle" x="235.5" y="-72.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M133.02,-76.25C148.91,-76.25 165.7,-76.25 180.96,-76.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="180.76,-79.75 190.76,-76.25 180.76,-72.75 180.76,-79.75"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<g id="a_Node000004"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<polygon fill="white" stroke="#666666" points="302,-30.5 169,-30.5 169,0 302,0 302,-30.5"/>
<text text-anchor="start" x="177" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="235.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
@@ -59,21 +65,27 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M110.51,-60.54C132.13,-52.64 158.53,-43 181.41,-34.64"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="182.45,-37.62 190.64,-30.91 180.05,-31.05 182.45,-37.62"/>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node4 -->
<g id="edge7" class="edge">
<g id="edge7_Node000004_Node000004" class="edge">
<title>Node4&#45;&gt;Node4</title>
<g id="a_edge7_Node000004_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M205.55,-30.99C199.44,-40.06 209.42,-48.5 235.5,-48.5 250.17,-48.5 259.74,-45.83 264.23,-41.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="267.81,-42.31 265.45,-31.99 260.86,-41.53 267.81,-42.31"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<g id="a_Node000005"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="#666666" points="471,-52.5 338,-52.5 338,-22 471,-22 471,-52.5"/>
<text text-anchor="start" x="346" y="-39" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="404.5" y="-27.75" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
@@ -81,15 +93,18 @@
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.02,-23.88C310.16,-24.95 318.53,-26.06 326.81,-27.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="326.25,-30.73 336.62,-28.57 327.16,-23.79 326.25,-30.73"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_Node000006"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="#666666" points="640,-30.5 507,-30.5 507,0 640,0 640,-30.5"/>
<text text-anchor="start" x="515" y="-17" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="573.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
@@ -97,16 +112,22 @@
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<g id="edge6_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge6_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M302.29,-13.76C314.18,-13.55 326.46,-13.36 338,-13.25 397.11,-12.67 411.89,-12.67 471,-13.25 479.03,-13.33 487.41,-13.44 495.77,-13.58"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="495.65,-17.09 505.71,-13.76 495.77,-10.09 495.65,-17.09"/>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M471.02,-28.62C479.16,-27.55 487.53,-26.44 495.81,-25.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="496.16,-28.71 505.62,-23.93 495.25,-21.77 496.16,-28.71"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB