Documentation for db149bf3b7

This commit is contained in:
github-actions
2022-09-02 14:36:25 +00:00
parent ca6acdc719
commit 766f10286e
5464 changed files with 92674 additions and 78796 deletions

View File

@@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<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.4"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: range_queries::heavy_light_decomposition::HLD&lt; X &gt; Class Template Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -41,10 +41,10 @@ MathJax.Hub.Config({
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<!-- Generated by Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
@@ -84,9 +84,16 @@ $(document).ready(function(){initNavTree('d2/d8a/classrange__queries_1_1heavy__l
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
@@ -104,13 +111,13 @@ $(document).ready(function(){initNavTree('d2/d8a/classrange__queries_1_1heavy__l
<div class="dynheader">
Inheritance diagram for range_queries::heavy_light_decomposition::HLD&lt; X &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d2c/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__inherit__graph.svg" width="352" height="147"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d2c/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__inherit__graph.svg" width="352" height="144"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for range_queries::heavy_light_decomposition::HLD&lt; X &gt;:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg" width="100%" height="526"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg" width="100%" height="523"><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">
@@ -199,7 +206,7 @@ class range_queries::heavy_light_decomposition::HLD&lt; X &gt;</div><p >The Heav
</dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6e486767434e44076c1ac374a22da726" name="a6e486767434e44076c1ac374a22da726"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e486767434e44076c1ac374a22da726">&#9670;&nbsp;</a></span>HLD()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a6e486767434e44076c1ac374a22da726">&#9670;&#160;</a></span>HLD()</h2>
<div class="memitem">
<div class="memproto">
@@ -254,7 +261,7 @@ template&lt;typename X &gt; </div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7d5b40c076347a6aabfb37a0590f2f24" name="a7d5b40c076347a6aabfb37a0590f2f24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d5b40c076347a6aabfb37a0590f2f24">&#9670;&nbsp;</a></span>chain_query()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a7d5b40c076347a6aabfb37a0590f2f24">&#9670;&#160;</a></span>chain_query()</h2>
<div class="memitem">
<div class="memproto">
@@ -327,14 +334,14 @@ template&lt;typename X &gt; </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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.svg" width="352" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a7d5b40c076347a6aabfb37a0590f2f24_cgraph.svg" width="352" height="115"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="af64848d6630c39d0f09ce2359cc7c4f8" name="af64848d6630c39d0f09ce2359cc7c4f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af64848d6630c39d0f09ce2359cc7c4f8">&#9670;&nbsp;</a></span>dfs_hc()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#af64848d6630c39d0f09ce2359cc7c4f8">&#9670;&#160;</a></span>dfs_hc()</h2>
<div class="memitem">
<div class="memproto">
@@ -397,14 +404,14 @@ template&lt;typename X &gt; </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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg" width="158" height="91"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_af64848d6630c39d0f09ce2359cc7c4f8_cgraph.svg" width="158" height="90"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a0579062b384e54b611b80c6337c7f2c8" name="a0579062b384e54b611b80c6337c7f2c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0579062b384e54b611b80c6337c7f2c8">&#9670;&nbsp;</a></span>dfs_labels()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a0579062b384e54b611b80c6337c7f2c8">&#9670;&#160;</a></span>dfs_labels()</h2>
<div class="memitem">
<div class="memproto">
@@ -463,14 +470,14 @@ template&lt;typename X &gt; </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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.svg" width="158" height="91"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a0579062b384e54b611b80c6337c7f2c8_cgraph.svg" width="158" height="90"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a2dfbda148aad0bfaba2ebfda9ebc915a" name="a2dfbda148aad0bfaba2ebfda9ebc915a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dfbda148aad0bfaba2ebfda9ebc915a">&#9670;&nbsp;</a></span>dfs_par()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a2dfbda148aad0bfaba2ebfda9ebc915a">&#9670;&#160;</a></span>dfs_par()</h2>
<div class="memitem">
<div class="memproto">
@@ -529,14 +536,14 @@ template&lt;typename X &gt; </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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg" width="158" height="91"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a2dfbda148aad0bfaba2ebfda9ebc915a_cgraph.svg" width="158" height="90"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="ae9e979edd69678b85665c01e2ee97828" name="ae9e979edd69678b85665c01e2ee97828"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9e979edd69678b85665c01e2ee97828">&#9670;&nbsp;</a></span>init()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#ae9e979edd69678b85665c01e2ee97828">&#9670;&#160;</a></span>init()</h2>
<div class="memitem">
<div class="memproto">
@@ -587,14 +594,14 @@ template&lt;typename X &gt; </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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.svg" width="547" height="511"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_ae9e979edd69678b85665c01e2ee97828_cgraph.svg" width="547" height="503"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a4dfbf5d9df825eeb63b294c6849bdcab" name="a4dfbf5d9df825eeb63b294c6849bdcab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dfbf5d9df825eeb63b294c6849bdcab">&#9670;&nbsp;</a></span>query()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a4dfbf5d9df825eeb63b294c6849bdcab">&#9670;&#160;</a></span>query()</h2>
<div class="memitem">
<div class="memproto">
@@ -651,14 +658,14 @@ template&lt;typename X &gt; </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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg" width="547" height="204"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a4dfbf5d9df825eeb63b294c6849bdcab_cgraph.svg" width="547" height="200"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a9f1cb54ed09fde931bf3220d75ee4c57" name="a9f1cb54ed09fde931bf3220d75ee4c57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f1cb54ed09fde931bf3220d75ee4c57">&#9670;&nbsp;</a></span>update()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a9f1cb54ed09fde931bf3220d75ee4c57">&#9670;&#160;</a></span>update()</h2>
<div class="memitem">
<div class="memproto">
@@ -703,17 +710,16 @@ template&lt;typename X &gt; </div>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><span class="lineno"> 475</span> {</div>
<div class="line"><span class="lineno"> 476</span> X diff = val - <a class="code hl_variable" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7">Tree&lt;X&gt;::t_val</a>[<a class="code hl_typedef" href="../../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555">node</a>];</div>
<div class="line"><span class="lineno"> 476</span> X diff = val - <a class="code hl_variable" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7">Tree&lt;X&gt;::t_val</a>[<a class="code hl_class" href="../../d5/da1/structnode.html">node</a>];</div>
<div class="line"><span class="lineno"> 477</span> <a class="code hl_function" href="../../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c">SG&lt;X&gt;::update</a>(<a class="code hl_variable" href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#aa86a91ae0cd7898990a8170a2f2c9cda">h_label</a>[<a class="code hl_class" href="../../d5/da1/structnode.html">node</a>], diff);</div>
<div class="line"><span class="lineno"> 478</span> <a class="code hl_variable" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7">Tree&lt;X&gt;::t_val</a>[<a class="code hl_typedef" href="../../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555">node</a>] = val;</div>
<div class="line"><span class="lineno"> 478</span> <a class="code hl_variable" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a135b7952593c9b1aae38fcaf1cc1abf7">Tree&lt;X&gt;::t_val</a>[<a class="code hl_class" href="../../d5/da1/structnode.html">node</a>] = val;</div>
<div class="line"><span class="lineno"> 479</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_s_g_html_a3c75bf5770790f8eba8cc92227b5400c"><div class="ttname"><a href="../../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c">range_queries::heavy_light_decomposition::SG::update</a></div><div class="ttdeci">void update(int p, X v)</div><div class="ttdoc">Update the value at a node.</div><div class="ttdef"><b>Definition:</b> heavy_light_decomposition.cpp:293</div></div>
<div class="ttc" id="ahash__search_8cpp_html_a8ca8dcb494104d273679e219e53d0555"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555">node</a></div><div class="ttdeci">struct list node</div></div>
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition:</b> avltree.cpp:13</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="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg" width="352" height="67"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_a9f1cb54ed09fde931bf3220d75ee4c57_cgraph.svg" width="352" height="66"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -728,7 +734,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"><b>heavy_light_decomposition</b></li><li class="navelem"><a class="el" href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html">HLD</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.4 </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.5 </li>
</ul>
</div>
</body>

View File

@@ -1,3 +1,3 @@
<map id="range_queries::heavy_light_decomposition::HLD::dfs_labels" name="range_queries::heavy_light_decomposition::HLD::dfs_labels">
<area shape="rect" id="node1" title="Utility function to lable the nodes so that heavy chains have a contigous lable." alt="" coords="5,29,152,85"/>
<area shape="rect" id="node1" title="Utility function to lable the nodes so that heavy chains have a contigous lable." alt="" coords="5,29,152,84"/>
</map>

View File

@@ -1 +1 @@
f6fbc757189675c509f6d7af9f09bdad
f76055aac90e6631b12948a28bddf1fe

View File

@@ -1,30 +1,29 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::dfs_labels Pages: 1 -->
<svg width="118pt" height="68pt"
viewBox="0.00 0.00 118.00 68.00" 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 64)">
<svg width="118pt" height="67pt"
viewBox="0.00 0.00 118.00 67.00" 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 63)">
<title>range_queries::heavy_light_decomposition::HLD::dfs_labels</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-64 114,-64 114,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Utility function to lable the nodes so that heavy chains have a contigous lable.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-41.5 110,-41.5 110,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_labels</text>
<polygon fill="#999999" stroke="#666666" points="110,-41 0,-41 0,0 110,0 110,-41"/>
<text text-anchor="start" x="8" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_labels</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M34.78,-41.86C32.58,-51.54 39.32,-60 55,-60 64.8,-60 71.11,-56.7 73.92,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="77.41,-52.23 75.22,-41.86 70.46,-51.33 77.41,-52.23"/>
<path fill="none" stroke="#63b8ff" d="M34.78,-41.1C32.58,-50.65 39.32,-59 55,-59 64.56,-59 70.79,-55.9 73.71,-51.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="77.22,-51.5 75.22,-41.1 70.29,-50.48 77.22,-51.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,3 +1,3 @@
<map id="range_queries::heavy_light_decomposition::HLD::dfs_par" name="range_queries::heavy_light_decomposition::HLD::dfs_par">
<area shape="rect" id="node1" title="Utility function to assign highest parent that can be reached though heavy chains." alt="" coords="5,29,152,85"/>
<area shape="rect" id="node1" title="Utility function to assign highest parent that can be reached though heavy chains." alt="" coords="5,29,152,84"/>
</map>

View File

@@ -1 +1 @@
72bdee8e385032311495aec5ced1de57
746f742a11a9cb46b2eb4391f5cbe04b

View File

@@ -1,30 +1,29 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::dfs_par Pages: 1 -->
<svg width="118pt" height="68pt"
viewBox="0.00 0.00 118.00 68.00" 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 64)">
<svg width="118pt" height="67pt"
viewBox="0.00 0.00 118.00 67.00" 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 63)">
<title>range_queries::heavy_light_decomposition::HLD::dfs_par</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-64 114,-64 114,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Utility function to assign highest parent that can be reached though heavy chains.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-41.5 110,-41.5 110,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_par</text>
<polygon fill="#999999" stroke="#666666" points="110,-41 0,-41 0,0 110,0 110,-41"/>
<text text-anchor="start" x="8" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_par</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M34.78,-41.86C32.58,-51.54 39.32,-60 55,-60 64.8,-60 71.11,-56.7 73.92,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="77.41,-52.23 75.22,-41.86 70.46,-51.33 77.41,-52.23"/>
<path fill="none" stroke="#63b8ff" d="M34.78,-41.1C32.58,-50.65 39.32,-59 55,-59 64.56,-59 70.79,-55.9 73.71,-51.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="77.22,-51.5 75.22,-41.1 70.29,-50.48 77.22,-51.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,8 +1,8 @@
<map id="range_queries::heavy_light_decomposition::HLD::query" name="range_queries::heavy_light_decomposition::HLD::query">
<area shape="rect" id="node1" title="This function returns the sum of node values in the simple path from from node_1 to node_2." alt="" coords="5,103,152,159"/>
<area shape="rect" id="node2" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24" title="Utility function to break down a path query into two chain queries." alt="" coords="200,63,347,119"/>
<area shape="rect" id="node5" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4" title="The function returns the least common ancestor of two nodes." alt="" coords="200,143,347,199"/>
<area shape="rect" id="node3" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" title="Function that specifies the type of operation involved when segments are combined." alt="" coords="395,5,541,61"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="429,85,507,112"/>
<area shape="rect" id="node6" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3" title="The function lifts a node, k units up the tree. The lifting is done in place, and the result is store..." alt="" coords="395,143,541,199"/>
<area shape="rect" id="node1" title="This function returns the sum of node values in the simple path from from node_1 to node_2." alt="" coords="5,101,152,156"/>
<area shape="rect" id="node2" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24" title="Utility function to break down a path query into two chain queries." alt="" coords="200,61,347,116"/>
<area shape="rect" id="node5" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4" title="The function returns the least common ancestor of two nodes." alt="" coords="200,140,347,195"/>
<area shape="rect" id="node3" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" title="Function that specifies the type of operation involved when segments are combined." alt="" coords="395,5,541,60"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="429,84,507,109"/>
<area shape="rect" id="node6" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3" title="The function lifts a node, k units up the tree. The lifting is done in place, and the result is store..." alt="" coords="395,140,541,195"/>
</map>

View File

@@ -1 +1 @@
9eb1b8f566ba7296adde69481e80634e
88946d51210c17344b00e0c0fa9b7e3d

View File

@@ -1,22 +1,21 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::query Pages: 1 -->
<svg width="410pt" height="153pt"
viewBox="0.00 0.00 410.00 153.00" 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 149)">
<svg width="410pt" height="150pt"
viewBox="0.00 0.00 410.00 150.00" 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 146)">
<title>range_queries::heavy_light_decomposition::HLD::query</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-149 406,-149 406,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="This function returns the sum of node values in the simple path from from node_1 to node_2.">
<polygon fill="#bfbfbf" stroke="black" points="0,-30.5 0,-71.5 110,-71.5 110,-30.5 0,-30.5"/>
<text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::query</text>
<polygon fill="#999999" stroke="#666666" points="110,-70 0,-70 0,-29 110,-29 110,-70"/>
<text text-anchor="start" x="8" y="-58" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-47" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-36" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::query</text>
</a>
</g>
</g>
@@ -24,84 +23,84 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a7d5b40c076347a6aabfb37a0590f2f24" target="_top" xlink:title="Utility function to break down a path query into two chain queries.">
<polygon fill="white" stroke="black" points="146,-60.5 146,-101.5 256,-101.5 256,-60.5 146,-60.5"/>
<text text-anchor="start" x="154" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::chain_query</text>
<polygon fill="white" stroke="#666666" points="256,-100 146,-100 146,-59 256,-59 256,-100"/>
<text text-anchor="start" x="154" y="-88" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-77" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::chain_query</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M110.03,-62.26C118.4,-64 127.13,-65.82 135.7,-67.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.16,-71.07 145.67,-69.68 136.59,-64.21 135.16,-71.07"/>
<path fill="none" stroke="#63b8ff" d="M110.03,-60.76C118.4,-62.5 127.13,-64.32 135.7,-66.1"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="135.16,-69.57 145.67,-68.18 136.59,-62.71 135.16,-69.57"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4" target="_top" xlink:title="The function returns the least common ancestor of two nodes.">
<polygon fill="white" stroke="black" points="146,-0.5 146,-41.5 256,-41.5 256,-0.5 146,-0.5"/>
<text text-anchor="start" x="154" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::lca</text>
<polygon fill="white" stroke="#666666" points="256,-41 146,-41 146,0 256,0 256,-41"/>
<text text-anchor="start" x="154" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::lca</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M110.03,-39.74C118.4,-38 127.13,-36.18 135.7,-34.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="136.59,-37.79 145.67,-32.32 135.16,-30.93 136.59,-37.79"/>
<path fill="none" stroke="#63b8ff" d="M110.03,-38.62C118.4,-36.93 127.13,-35.18 135.7,-33.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="136.56,-36.85 145.67,-31.44 135.17,-29.99 136.56,-36.85"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" target="_top" xlink:title="Function that specifies the type of operation involved when segments are combined.">
<polygon fill="white" stroke="black" points="292,-103.5 292,-144.5 402,-144.5 402,-103.5 292,-103.5"/>
<text text-anchor="start" x="300" y="-132.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-110.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::combine</text>
<polygon fill="white" stroke="#666666" points="402,-142 292,-142 292,-101 402,-101 402,-142"/>
<text text-anchor="start" x="300" y="-130" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-119" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::combine</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M256.03,-97.13C264.5,-99.66 273.32,-102.3 281.98,-104.88"/>
<polygon fill="midnightblue" stroke="midnightblue" points="281.08,-108.27 291.67,-107.78 283.09,-101.56 281.08,-108.27"/>
<path fill="none" stroke="#63b8ff" d="M256.03,-95.26C264.5,-97.73 273.32,-100.3 281.98,-102.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="281.09,-106.21 291.67,-105.65 283.05,-99.49 281.09,-106.21"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="317.5,-65.5 317.5,-84.5 376.5,-84.5 376.5,-65.5 317.5,-65.5"/>
<text text-anchor="middle" x="347" y="-72.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
<polygon fill="white" stroke="#666666" points="376.5,-83 317.5,-83 317.5,-64 376.5,-64 376.5,-83"/>
<text text-anchor="middle" x="347" y="-71" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M256.03,-78.75C272.89,-78.05 291.15,-77.29 306.79,-76.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="307.3,-80.12 317.15,-76.2 307.01,-73.12 307.3,-80.12"/>
<path fill="none" stroke="#63b8ff" d="M256.03,-77.25C272.89,-76.55 291.15,-75.79 306.79,-75.13"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="307.3,-78.62 317.15,-74.7 307.01,-71.62 307.3,-78.62"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3" target="_top" xlink:title="The function lifts a node, k units up the tree. The lifting is done in place, and the result is store...">
<polygon fill="white" stroke="black" points="292,-0.5 292,-41.5 402,-41.5 402,-0.5 292,-0.5"/>
<text text-anchor="start" x="300" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::lift</text>
<polygon fill="white" stroke="#666666" points="402,-41 292,-41 292,0 402,0 402,-41"/>
<text text-anchor="start" x="300" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::lift</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M256.03,-21C264.31,-21 272.94,-21 281.42,-21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="281.67,-24.5 291.67,-21 281.67,-17.5 281.67,-24.5"/>
<path fill="none" stroke="#63b8ff" d="M256.03,-20.5C264.31,-20.5 272.94,-20.5 281.42,-20.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="281.67,-24 291.67,-20.5 281.67,-17 281.67,-24"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -1,5 +1,5 @@
<map id="range_queries::heavy_light_decomposition::HLD::chain_query" name="range_queries::heavy_light_decomposition::HLD::chain_query">
<area shape="rect" id="node1" title="Utility function to break down a path query into two chain queries." alt="" coords="5,39,152,95"/>
<area shape="rect" id="node2" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" title="Function that specifies the type of operation involved when segments are combined." alt="" coords="200,5,347,61"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="234,85,313,112"/>
<area shape="rect" id="node1" title="Utility function to break down a path query into two chain queries." alt="" coords="5,37,152,92"/>
<area shape="rect" id="node2" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" title="Function that specifies the type of operation involved when segments are combined." alt="" coords="200,5,347,60"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="234,84,313,109"/>
</map>

View File

@@ -1 +1 @@
54cc5e12cc180e9cff3739e3cfb42a20
3be3e757a65d1d62a05700855532f009

View File

@@ -1,22 +1,21 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::chain_query Pages: 1 -->
<svg width="264pt" height="88pt"
viewBox="0.00 0.00 264.00 88.00" 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 84)">
<svg width="264pt" height="86pt"
viewBox="0.00 0.00 264.00 86.00" 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 82)">
<title>range_queries::heavy_light_decomposition::HLD::chain_query</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-84 260,-84 260,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Utility function to break down a path query into two chain queries.">
<polygon fill="#bfbfbf" stroke="black" points="0,-13.5 0,-54.5 110,-54.5 110,-13.5 0,-13.5"/>
<text text-anchor="start" x="8" y="-42.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-31.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-20.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::chain_query</text>
<polygon fill="#999999" stroke="#666666" points="110,-54 0,-54 0,-13 110,-13 110,-54"/>
<text text-anchor="start" x="8" y="-42" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-31" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-20" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::chain_query</text>
</a>
</g>
</g>
@@ -24,33 +23,33 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" target="_top" xlink:title="Function that specifies the type of operation involved when segments are combined.">
<polygon fill="white" stroke="black" points="146,-38.5 146,-79.5 256,-79.5 256,-38.5 146,-38.5"/>
<text text-anchor="start" x="154" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::combine</text>
<polygon fill="white" stroke="#666666" points="256,-78 146,-78 146,-37 256,-37 256,-78"/>
<text text-anchor="start" x="154" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-55" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-44" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::combine</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M110.03,-43.38C118.4,-44.83 127.13,-46.35 135.7,-47.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.22,-51.31 145.67,-49.57 136.41,-44.41 135.22,-51.31"/>
<path fill="none" stroke="#63b8ff" d="M110.03,-42.5C118.4,-43.9 127.13,-45.35 135.7,-46.78"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="135.23,-50.25 145.67,-48.44 136.38,-43.35 135.23,-50.25"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="171.5,-0.5 171.5,-19.5 230.5,-19.5 230.5,-0.5 171.5,-0.5"/>
<text text-anchor="middle" x="201" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
<polygon fill="white" stroke="#666666" points="230.5,-19 171.5,-19 171.5,0 230.5,0 230.5,-19"/>
<text text-anchor="middle" x="201" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M110.03,-25C127.05,-22.16 145.5,-19.08 161.24,-16.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="161.86,-19.9 171.15,-14.81 160.71,-13 161.86,-19.9"/>
<path fill="none" stroke="#63b8ff" d="M110.03,-24.5C127.05,-21.66 145.5,-18.58 161.24,-15.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="161.86,-19.4 171.15,-14.31 160.71,-12.5 161.86,-19.4"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,4 +1,4 @@
<map id="range_queries::heavy_light_decomposition::HLD::update" name="range_queries::heavy_light_decomposition::HLD::update">
<area shape="rect" id="node1" title="This function updates the value at node with val." alt="" coords="5,5,152,61"/>
<area shape="rect" id="node2" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c" title="Update the value at a node." alt="" coords="200,5,347,61"/>
<area shape="rect" id="node1" title="This function updates the value at node with val." alt="" coords="5,5,152,60"/>
<area shape="rect" id="node2" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c" title="Update the value at a node." alt="" coords="200,5,347,60"/>
</map>

View File

@@ -1 +1 @@
5ff9b2f90f9c3cd04184b7012e6c613f
67cbbbcb309192b2f5ac66cc5c2a4729

View File

@@ -1,22 +1,21 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::update Pages: 1 -->
<svg width="264pt" height="50pt"
viewBox="0.00 0.00 264.00 50.00" 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 46)">
<svg width="264pt" height="49pt"
viewBox="0.00 0.00 264.00 49.00" 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 45)">
<title>range_queries::heavy_light_decomposition::HLD::update</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-46 260,-46 260,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="This function updates the value at node with val.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-41.5 110,-41.5 110,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::update</text>
<polygon fill="#999999" stroke="#666666" points="110,-41 0,-41 0,0 110,0 110,-41"/>
<text text-anchor="start" x="8" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::update</text>
</a>
</g>
</g>
@@ -24,18 +23,18 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c" target="_top" xlink:title="Update the value at a node.">
<polygon fill="white" stroke="black" points="146,-0.5 146,-41.5 256,-41.5 256,-0.5 146,-0.5"/>
<text text-anchor="start" x="154" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::update</text>
<polygon fill="white" stroke="#666666" points="256,-41 146,-41 146,0 256,0 256,-41"/>
<text text-anchor="start" x="154" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::update</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M110.03,-21C118.31,-21 126.94,-21 135.42,-21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.67,-24.5 145.67,-21 135.67,-17.5 135.67,-24.5"/>
<path fill="none" stroke="#63b8ff" d="M110.03,-20.5C118.31,-20.5 126.94,-20.5 135.42,-20.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="135.67,-24 145.67,-20.5 135.67,-17 135.67,-24"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,10 +1,10 @@
<map id="range_queries::heavy_light_decomposition::HLD::init" name="range_queries::heavy_light_decomposition::HLD::init">
<area shape="rect" id="node1" title="This function must be called after the tree adjacency list and node values are populated The function..." alt="" coords="5,213,152,269"/>
<area shape="rect" id="node2" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" title="Function that specifies the type of operation involved when segments are combined." alt="" coords="200,5,347,61"/>
<area shape="rect" id="node3" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8" title="Utility function to assign heavy child to each node (&#45;1 for a leaf node)" alt="" coords="200,109,347,165"/>
<area shape="rect" id="node4" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8" title="Utility function to lable the nodes so that heavy chains have a contigous lable." alt="" coords="200,213,347,269"/>
<area shape="rect" id="node5" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a" title="Utility function to assign highest parent that can be reached though heavy chains." alt="" coords="200,317,347,373"/>
<area shape="rect" id="node6" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc" title="This function must be called after the tree adjacency list and node values are populated The function..." alt="" coords="200,397,347,453"/>
<area shape="rect" id="node7" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4" title="Utility function to populate the t_par vector." alt="" coords="395,345,541,401"/>
<area shape="rect" id="node8" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460" title="Utility function to compute sub&#45;tree sizes." alt="" coords="395,449,541,505"/>
<area shape="rect" id="node1" title="This function must be called after the tree adjacency list and node values are populated The function..." alt="" coords="5,211,152,265"/>
<area shape="rect" id="node2" href="$d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" title="Function that specifies the type of operation involved when segments are combined." alt="" coords="200,5,347,60"/>
<area shape="rect" id="node3" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8" title="Utility function to assign heavy child to each node (&#45;1 for a leaf node)" alt="" coords="200,108,347,163"/>
<area shape="rect" id="node4" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8" title="Utility function to lable the nodes so that heavy chains have a contigous lable." alt="" coords="200,211,347,265"/>
<area shape="rect" id="node5" href="$d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a" title="Utility function to assign highest parent that can be reached though heavy chains." alt="" coords="200,313,347,368"/>
<area shape="rect" id="node6" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc" title="This function must be called after the tree adjacency list and node values are populated The function..." alt="" coords="200,392,347,447"/>
<area shape="rect" id="node7" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4" title="Utility function to populate the t_par vector." alt="" coords="395,340,541,395"/>
<area shape="rect" id="node8" href="$d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460" title="Utility function to compute sub&#45;tree sizes." alt="" coords="395,443,541,497"/>
</map>

View File

@@ -1 +1 @@
fd79112d1e449bba49c4e48f39774bf4
34aad07d355b428e5e867684cde8bbb5

View File

@@ -1,22 +1,21 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::init Pages: 1 -->
<svg width="410pt" height="383pt"
viewBox="0.00 0.00 410.00 383.00" 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 379)">
<svg width="410pt" height="377pt"
viewBox="0.00 0.00 410.00 377.00" 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 373)">
<title>range_queries::heavy_light_decomposition::HLD::init</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-379 406,-379 406,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="This function must be called after the tree adjacency list and node values are populated The function...">
<polygon fill="#bfbfbf" stroke="black" points="0,-177.5 0,-218.5 110,-218.5 110,-177.5 0,-177.5"/>
<text text-anchor="start" x="8" y="-206.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-195.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::init</text>
<polygon fill="#999999" stroke="#666666" points="110,-215 0,-215 0,-174 110,-174 110,-215"/>
<text text-anchor="start" x="8" y="-203" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::init</text>
</a>
</g>
</g>
@@ -24,150 +23,150 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a41c733f5f5e262b308f7cb95c88c1e74" target="_top" xlink:title="Function that specifies the type of operation involved when segments are combined.">
<polygon fill="white" stroke="black" points="146,-333.5 146,-374.5 256,-374.5 256,-333.5 146,-333.5"/>
<text text-anchor="start" x="154" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-351.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::combine</text>
<polygon fill="white" stroke="#666666" points="256,-369 146,-369 146,-328 256,-328 256,-369"/>
<text text-anchor="start" x="154" y="-357" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">::SG::combine</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M67.05,-218.91C82.07,-245.83 111.11,-292.85 146,-324 147.29,-325.15 148.64,-326.28 150.02,-327.38"/>
<polygon fill="midnightblue" stroke="midnightblue" points="148.16,-330.35 158.31,-333.37 152.26,-324.68 148.16,-330.35"/>
<path fill="none" stroke="#63b8ff" d="M67.02,-215.32C82.01,-242.1 111.01,-288.83 146,-319.5 146.97,-320.35 147.96,-321.18 148.99,-322"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="147.05,-324.92 157.2,-327.94 151.15,-319.25 147.05,-324.92"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#af64848d6630c39d0f09ce2359cc7c4f8" target="_top" xlink:title="Utility function to assign heavy child to each node (&#45;1 for a leaf node)">
<polygon fill="white" stroke="black" points="146,-255.5 146,-296.5 256,-296.5 256,-255.5 146,-255.5"/>
<text text-anchor="start" x="154" y="-284.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-262.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_hc</text>
<polygon fill="white" stroke="#666666" points="256,-292 146,-292 146,-251 256,-251 256,-292"/>
<text text-anchor="start" x="154" y="-280" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-269" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_hc</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M94.21,-218.7C112.34,-228.52 134.16,-240.34 153.26,-250.68"/>
<polygon fill="midnightblue" stroke="midnightblue" points="151.65,-253.79 162.11,-255.48 154.98,-247.64 151.65,-253.79"/>
<path fill="none" stroke="#63b8ff" d="M94.59,-215.13C112.34,-224.63 133.58,-235.99 152.33,-246.01"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="150.84,-249.18 161.3,-250.81 154.14,-243.01 150.84,-249.18"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a0579062b384e54b611b80c6337c7f2c8" target="_top" xlink:title="Utility function to lable the nodes so that heavy chains have a contigous lable.">
<polygon fill="white" stroke="black" points="146,-177.5 146,-218.5 256,-218.5 256,-177.5 146,-177.5"/>
<text text-anchor="start" x="154" y="-206.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-195.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_labels</text>
<polygon fill="white" stroke="#666666" points="256,-215 146,-215 146,-174 256,-174 256,-215"/>
<text text-anchor="start" x="154" y="-203" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_labels</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M110.03,-198C118.31,-198 126.94,-198 135.42,-198"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.67,-201.5 145.67,-198 135.67,-194.5 135.67,-201.5"/>
<path fill="none" stroke="#63b8ff" d="M110.03,-194.5C118.31,-194.5 126.94,-194.5 135.42,-194.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="135.67,-198 145.67,-194.5 135.67,-191 135.67,-198"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a2dfbda148aad0bfaba2ebfda9ebc915a" target="_top" xlink:title="Utility function to assign highest parent that can be reached though heavy chains.">
<polygon fill="white" stroke="black" points="146,-99.5 146,-140.5 256,-140.5 256,-99.5 146,-99.5"/>
<text text-anchor="start" x="154" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_par</text>
<polygon fill="white" stroke="#666666" points="256,-138 146,-138 146,-97 256,-97 256,-138"/>
<text text-anchor="start" x="154" y="-126" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-115" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-104" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_par</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M94.21,-177.3C112.34,-167.48 134.16,-155.66 153.26,-145.32"/>
<polygon fill="midnightblue" stroke="midnightblue" points="154.98,-148.36 162.11,-140.52 151.65,-142.21 154.98,-148.36"/>
<path fill="none" stroke="#63b8ff" d="M94.59,-173.87C112.34,-164.37 133.58,-153.01 152.33,-142.99"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="154.14,-145.99 161.3,-138.19 150.84,-139.82 154.14,-145.99"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc" target="_top" xlink:title="This function must be called after the tree adjacency list and node values are populated The function...">
<polygon fill="white" stroke="black" points="146,-39.5 146,-80.5 256,-80.5 256,-39.5 146,-39.5"/>
<text text-anchor="start" x="154" y="-68.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-57.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-46.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::init</text>
<polygon fill="white" stroke="#666666" points="256,-79 146,-79 146,-38 256,-38 256,-79"/>
<text text-anchor="start" x="154" y="-67" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="154" y="-56" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="201" y="-45" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::init</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M69.69,-177.34C85.87,-154.03 114.61,-115.99 146,-90 147.52,-88.74 149.1,-87.51 150.72,-86.31"/>
<polygon fill="midnightblue" stroke="midnightblue" points="152.85,-89.09 159.12,-80.55 148.89,-83.32 152.85,-89.09"/>
<path fill="none" stroke="#63b8ff" d="M70.06,-173.83C86.37,-150.94 115.02,-113.92 146,-88.5 147.52,-87.25 149.11,-86.03 150.73,-84.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="152.86,-87.61 159.15,-79.09 148.91,-81.83 152.86,-87.61"/>
</g>
<!-- Node3&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M174.17,-296.86C171.24,-306.54 180.18,-315 201,-315 214.01,-315 222.38,-311.7 226.12,-306.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="229.59,-307.31 227.83,-296.86 222.69,-306.13 229.59,-307.31"/>
<path fill="none" stroke="#63b8ff" d="M174.17,-292.1C171.24,-301.65 180.18,-310 201,-310 214.01,-310 222.38,-306.74 226.12,-301.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="229.57,-302.55 227.83,-292.1 222.67,-301.35 229.57,-302.55"/>
</g>
<!-- Node4&#45;&gt;Node4 -->
<g id="edge5" class="edge">
<title>Node4&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M174.17,-218.86C171.24,-228.54 180.18,-237 201,-237 214.01,-237 222.38,-233.7 226.12,-228.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="229.59,-229.31 227.83,-218.86 222.69,-228.13 229.59,-229.31"/>
<path fill="none" stroke="#63b8ff" d="M174.17,-215.1C171.24,-224.65 180.18,-233 201,-233 214.01,-233 222.38,-229.74 226.12,-224.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="229.57,-225.55 227.83,-215.1 222.67,-224.35 229.57,-225.55"/>
</g>
<!-- Node5&#45;&gt;Node5 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M174.17,-140.86C171.24,-150.54 180.18,-159 201,-159 214.01,-159 222.38,-155.7 226.12,-150.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="229.59,-151.31 227.83,-140.86 222.69,-150.13 229.59,-151.31"/>
<path fill="none" stroke="#63b8ff" d="M174.17,-138.1C171.24,-147.65 180.18,-156 201,-156 214.01,-156 222.38,-152.74 226.12,-147.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="229.57,-148.55 227.83,-138.1 222.67,-147.35 229.57,-148.55"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae8de7aefcb6635d3dacdd174cd4890c4" target="_top" xlink:title="Utility function to populate the t_par vector.">
<polygon fill="white" stroke="black" points="292,-78.5 292,-119.5 402,-119.5 402,-78.5 292,-78.5"/>
<text text-anchor="start" x="300" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::dfs_lca</text>
<polygon fill="white" stroke="#666666" points="402,-118 292,-118 292,-77 402,-77 402,-118"/>
<text text-anchor="start" x="300" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-84" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::dfs_lca</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge9" class="edge">
<title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M256.03,-74.63C264.5,-76.93 273.32,-79.31 281.98,-81.66"/>
<polygon fill="midnightblue" stroke="midnightblue" points="281.1,-85.05 291.67,-84.28 282.93,-78.29 281.1,-85.05"/>
<path fill="none" stroke="#63b8ff" d="M256.03,-73.13C264.5,-75.43 273.32,-77.81 281.98,-80.16"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="281.1,-83.55 291.67,-82.78 282.93,-76.79 281.1,-83.55"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#aa339c31ec74cd86a4842a8b09653d460" target="_top" xlink:title="Utility function to compute sub&#45;tree sizes.">
<polygon fill="white" stroke="black" points="292,-0.5 292,-41.5 402,-41.5 402,-0.5 292,-0.5"/>
<text text-anchor="start" x="300" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::dfs_size</text>
<polygon fill="white" stroke="#666666" points="402,-41 292,-41 292,0 402,0 402,-41"/>
<text text-anchor="start" x="300" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="300" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="347" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree::dfs_size</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node8 -->
<g id="edge11" class="edge">
<title>Node6&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M256.03,-45.37C264.5,-43.07 273.32,-40.69 281.98,-38.34"/>
<polygon fill="midnightblue" stroke="midnightblue" points="282.93,-41.71 291.67,-35.72 281.1,-34.95 282.93,-41.71"/>
<path fill="none" stroke="#63b8ff" d="M256.03,-44.24C264.5,-42.01 273.32,-39.68 281.98,-37.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="282.89,-40.77 291.67,-34.84 281.11,-34.01 282.89,-40.77"/>
</g>
<!-- Node7&#45;&gt;Node7 -->
<g id="edge10" class="edge">
<title>Node7&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M320.17,-119.86C317.24,-129.54 326.18,-138 347,-138 360.01,-138 368.38,-134.7 372.12,-129.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="375.59,-130.31 373.83,-119.86 368.69,-129.13 375.59,-130.31"/>
<path fill="none" stroke="#63b8ff" d="M320.17,-118.1C317.24,-127.65 326.18,-136 347,-136 360.01,-136 368.38,-132.74 372.12,-127.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="375.57,-128.55 373.83,-118.1 368.67,-127.35 375.57,-128.55"/>
</g>
<!-- Node8&#45;&gt;Node8 -->
<g id="edge12" class="edge">
<title>Node8&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M320.17,-41.86C317.24,-51.54 326.18,-60 347,-60 360.01,-60 368.38,-56.7 372.12,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="375.59,-52.31 373.83,-41.86 368.69,-51.13 375.59,-52.31"/>
<path fill="none" stroke="#63b8ff" d="M320.17,-41.1C317.24,-50.65 326.18,-59 347,-59 360.01,-59 368.38,-55.74 372.12,-50.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="375.57,-51.55 373.83,-41.1 368.67,-50.35 375.57,-51.55"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,3 +1,3 @@
<map id="range_queries::heavy_light_decomposition::HLD::dfs_hc" name="range_queries::heavy_light_decomposition::HLD::dfs_hc">
<area shape="rect" id="node1" title="Utility function to assign heavy child to each node (&#45;1 for a leaf node)" alt="" coords="5,29,152,85"/>
<area shape="rect" id="node1" title="Utility function to assign heavy child to each node (&#45;1 for a leaf node)" alt="" coords="5,29,152,84"/>
</map>

View File

@@ -1 +1 @@
8c93406c870c3f1a3213f5f09fc185cb
173d81f11628a3e50ed058c757e8ef9c

View File

@@ -1,30 +1,29 @@
<?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 5.0.0 (20220707.1540)
<!-- Generated by graphviz version 5.0.1 (20220820.1526)
-->
<!-- Title: range_queries::heavy_light_decomposition::HLD::dfs_hc Pages: 1 -->
<svg width="118pt" height="68pt"
viewBox="0.00 0.00 118.00 68.00" 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 64)">
<svg width="118pt" height="67pt"
viewBox="0.00 0.00 118.00 67.00" 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 63)">
<title>range_queries::heavy_light_decomposition::HLD::dfs_hc</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-64 114,-64 114,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Utility function to assign heavy child to each node (&#45;1 for a leaf node)">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-41.5 110,-41.5 110,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_hc</text>
<polygon fill="#999999" stroke="#666666" points="110,-41 0,-41 0,0 110,0 110,-41"/>
<text text-anchor="start" x="8" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="8" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="55" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::HLD::dfs_hc</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M34.78,-41.86C32.58,-51.54 39.32,-60 55,-60 64.8,-60 71.11,-56.7 73.92,-51.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="77.41,-52.23 75.22,-41.86 70.46,-51.33 77.41,-52.23"/>
<path fill="none" stroke="#63b8ff" d="M34.78,-41.1C32.58,-50.65 39.32,-59 55,-59 64.56,-59 70.79,-55.9 73.71,-51.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="77.22,-51.5 75.22,-41.1 70.29,-50.48 77.22,-51.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB