Documentation for f1eddf4d65

This commit is contained in:
realstealthninja
2025-07-09 10:53:16 +00:00
parent e7edde96ab
commit b41207008f
2497 changed files with 31270 additions and 40283 deletions

View File

@@ -4,7 +4,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.13.2"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: range_queries::heavy_light_decomposition::HLD&lt; X &gt; Class Template Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -19,7 +19,6 @@
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
@@ -60,26 +59,20 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
@@ -94,10 +87,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html','../../'); initResizable(true); });
/* @license-end */
$(function(){initNavTree('d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html','../../','dd/dfc/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d-members'); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -121,11 +113,6 @@ $(function(){initNavTree('d2/d8a/classrange__queries_1_1heavy__light__decomposit
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../dd/dfc/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">range_queries::heavy_light_decomposition::HLD&lt; X &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -135,85 +122,65 @@ $(function(){initNavTree('d2/d8a/classrange__queries_1_1heavy__light__decomposit
<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="350" height="147"><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" loading="lazy" frameborder="0" src="../../d0/d2c/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__inherit__graph.svg" width="350" height="147"><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="512"><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" loading="lazy" frameborder="0" src="../../dc/dd9/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d__coll__graph.svg" width="100%" height="541"><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="pub-methods" name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6e486767434e44076c1ac374a22da726" id="r_a6e486767434e44076c1ac374a22da726"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e486767434e44076c1ac374a22da726">HLD</a> (int nodes)</td></tr>
<tr class="memdesc:a6e486767434e44076c1ac374a22da726"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class parameterized constructor. Resizes the and initilizes the data members. <br /></td></tr>
<tr class="separator:a6e486767434e44076c1ac374a22da726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9e979edd69678b85665c01e2ee97828" id="r_ae9e979edd69678b85665c01e2ee97828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae9e979edd69678b85665c01e2ee97828">init</a> ()</td></tr>
<tr class="memdesc:ae9e979edd69678b85665c01e2ee97828"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function must be called after the tree adjacency list and node values are populated The function initializes the required parametes, and populates the segment tree. <br /></td></tr>
<tr class="separator:ae9e979edd69678b85665c01e2ee97828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f1cb54ed09fde931bf3220d75ee4c57" id="r_a9f1cb54ed09fde931bf3220d75ee4c57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9f1cb54ed09fde931bf3220d75ee4c57">update</a> (int <a class="el" href="../../d5/da1/structnode.html">node</a>, X val)</td></tr>
<tr class="memdesc:a9f1cb54ed09fde931bf3220d75ee4c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function updates the value at node with val. <br /></td></tr>
<tr class="separator:a9f1cb54ed09fde931bf3220d75ee4c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dfbf5d9df825eeb63b294c6849bdcab" id="r_a4dfbf5d9df825eeb63b294c6849bdcab"><td class="memItemLeft" align="right" valign="top">X&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4dfbf5d9df825eeb63b294c6849bdcab">query</a> (int a, int b)</td></tr>
<tr class="memdesc:a4dfbf5d9df825eeb63b294c6849bdcab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the sum of node values in the simple path from from node_1 to node_2. <br /></td></tr>
<tr class="separator:a4dfbf5d9df825eeb63b294c6849bdcab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">range_queries::heavy_light_decomposition::Tree&lt; X &gt;</a></td></tr>
<tr class="inherit_header pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">range_queries::heavy_light_decomposition::Tree&lt; X &gt;</a></td></tr>
<tr class="memitem:a835fb2bbb27307b8cacad9b287968bc1 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_a835fb2bbb27307b8cacad9b287968bc1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a835fb2bbb27307b8cacad9b287968bc1">Tree</a> (int nodes)</td></tr>
<tr class="memdesc:a835fb2bbb27307b8cacad9b287968bc1 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class parameterized constructor, resizes the and initializes the data members. <br /></td></tr>
<tr class="separator:a835fb2bbb27307b8cacad9b287968bc1 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79ab4601c4a95c0902ac04e779e5f54d inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_a79ab4601c4a95c0902ac04e779e5f54d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a79ab4601c4a95c0902ac04e779e5f54d">add_edge</a> (const int u, const int v)</td></tr>
<tr class="memdesc:a79ab4601c4a95c0902ac04e779e5f54d inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an undirected edge from node u to node v in the tree. <br /></td></tr>
<tr class="separator:a79ab4601c4a95c0902ac04e779e5f54d inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab916d554afa8ca5230b4310c2c69fae0 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_ab916d554afa8ca5230b4310c2c69fae0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ab916d554afa8ca5230b4310c2c69fae0">change_root</a> (int new_root)</td></tr>
<tr class="memdesc:ab916d554afa8ca5230b4310c2c69fae0 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the root for the tree. <br /></td></tr>
<tr class="separator:ab916d554afa8ca5230b4310c2c69fae0 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04cd96efaba147b19d3afc769b90ff70 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_a04cd96efaba147b19d3afc769b90ff70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a04cd96efaba147b19d3afc769b90ff70">set_node_val</a> (const std::vector&lt; X &gt; &amp;node_val)</td></tr>
<tr class="memdesc:a04cd96efaba147b19d3afc769b90ff70 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the values for all the nodes. <br /></td></tr>
<tr class="separator:a04cd96efaba147b19d3afc769b90ff70 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad22d760a5a33545a70e7ea5e1786c8dc inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_ad22d760a5a33545a70e7ea5e1786c8dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ad22d760a5a33545a70e7ea5e1786c8dc">init</a> ()</td></tr>
<tr class="memdesc:ad22d760a5a33545a70e7ea5e1786c8dc inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function must be called after the tree adjacency list and node values are populated The function initializes the required parameters, and populates the segment tree. <br /></td></tr>
<tr class="separator:ad22d760a5a33545a70e7ea5e1786c8dc inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7761255f2ba06b398b9aae5e4dce5f3 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_ac7761255f2ba06b398b9aae5e4dce5f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a> (int *const p, int dist)</td></tr>
<tr class="memdesc:ac7761255f2ba06b398b9aae5e4dce5f3 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function lifts a node, k units up the tree. The lifting is done in place, and the result is stored in the address pointed by p. <br /></td></tr>
<tr class="separator:ac7761255f2ba06b398b9aae5e4dce5f3 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f7bca1746d40f21ad832fcea59aa6c6 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_a8f7bca1746d40f21ad832fcea59aa6c6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#a8f7bca1746d40f21ad832fcea59aa6c6">kth_ancestor</a> (int p, const int &amp;dist)</td></tr>
<tr class="memdesc:a8f7bca1746d40f21ad832fcea59aa6c6 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function returns the kth ancestor of a node. <br /></td></tr>
<tr class="separator:a8f7bca1746d40f21ad832fcea59aa6c6 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b407e64aaf9878fbee7ee6efe9c7d4 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree" id="r_ae2b407e64aaf9878fbee7ee6efe9c7d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4">lca</a> (int a, int b)</td></tr>
<tr class="memdesc:ae2b407e64aaf9878fbee7ee6efe9c7d4 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function returns the least common ancestor of two nodes. <br /></td></tr>
<tr class="separator:ae2b407e64aaf9878fbee7ee6efe9c7d4 inherit pub_methods_classrange__queries_1_1heavy__light__decomposition_1_1_tree"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pri-methods" class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:af64848d6630c39d0f09ce2359cc7c4f8" id="r_af64848d6630c39d0f09ce2359cc7c4f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af64848d6630c39d0f09ce2359cc7c4f8">dfs_hc</a> (int u, int p=-1)</td></tr>
<tr class="memdesc:af64848d6630c39d0f09ce2359cc7c4f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to assign heavy child to each node (-1 for a leaf node) <br /></td></tr>
<tr class="separator:af64848d6630c39d0f09ce2359cc7c4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dfbda148aad0bfaba2ebfda9ebc915a" id="r_a2dfbda148aad0bfaba2ebfda9ebc915a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2dfbda148aad0bfaba2ebfda9ebc915a">dfs_par</a> (int u, int p=-1)</td></tr>
<tr class="memdesc:a2dfbda148aad0bfaba2ebfda9ebc915a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to assign highest parent that can be reached though heavy chains. <br /></td></tr>
<tr class="separator:a2dfbda148aad0bfaba2ebfda9ebc915a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0579062b384e54b611b80c6337c7f2c8" id="r_a0579062b384e54b611b80c6337c7f2c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0579062b384e54b611b80c6337c7f2c8">dfs_labels</a> (int u, int p=-1)</td></tr>
<tr class="memdesc:a0579062b384e54b611b80c6337c7f2c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to lable the nodes so that heavy chains have a contigous lable. <br /></td></tr>
<tr class="separator:a0579062b384e54b611b80c6337c7f2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d5b40c076347a6aabfb37a0590f2f24" id="r_a7d5b40c076347a6aabfb37a0590f2f24"><td class="memItemLeft" align="right" valign="top">X&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d5b40c076347a6aabfb37a0590f2f24">chain_query</a> (int a, int b)</td></tr>
<tr class="memdesc:a7d5b40c076347a6aabfb37a0590f2f24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function to break down a path query into two chain queries. <br /></td></tr>
<tr class="separator:a7d5b40c076347a6aabfb37a0590f2f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pri-attribs" class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a722cc7cf2c3e4d15583601a48b09776f" id="r_a722cc7cf2c3e4d15583601a48b09776f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a722cc7cf2c3e4d15583601a48b09776f">label</a></td></tr>
<tr class="memdesc:a722cc7cf2c3e4d15583601a48b09776f"><td class="mdescLeft">&#160;</td><td class="mdescRight">utility member to assign labels in <a class="el" href="#a0579062b384e54b611b80c6337c7f2c8" title="Utility function to lable the nodes so that heavy chains have a contigous lable.">dfs_labels()</a> <br /></td></tr>
<tr class="separator:a722cc7cf2c3e4d15583601a48b09776f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa86a91ae0cd7898990a8170a2f2c9cda" id="r_aa86a91ae0cd7898990a8170a2f2c9cda"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa86a91ae0cd7898990a8170a2f2c9cda">h_label</a></td></tr>
<tr class="memdesc:aa86a91ae0cd7898990a8170a2f2c9cda"><td class="mdescLeft">&#160;</td><td class="mdescRight">stores the label of a node <br /></td></tr>
<tr class="separator:aa86a91ae0cd7898990a8170a2f2c9cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84424f180f12b514eaab57a6aa20b104" id="r_a84424f180f12b514eaab57a6aa20b104"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a84424f180f12b514eaab57a6aa20b104">h_heavychlid</a></td></tr>
<tr class="memdesc:a84424f180f12b514eaab57a6aa20b104"><td class="mdescLeft">&#160;</td><td class="mdescRight">stores the heavy child of a node <br /></td></tr>
<tr class="separator:a84424f180f12b514eaab57a6aa20b104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b336474d17eff1aa4be73d4068dc725" id="r_a1b336474d17eff1aa4be73d4068dc725"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b336474d17eff1aa4be73d4068dc725">h_parent</a></td></tr>
<tr class="memdesc:a1b336474d17eff1aa4be73d4068dc725"><td class="mdescLeft">&#160;</td><td class="mdescRight">stores the top of the heavy chain from a node <br /></td></tr>
<tr class="separator:a1b336474d17eff1aa4be73d4068dc725"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename X&gt;<br />
class range_queries::heavy_light_decomposition::HLD&lt; X &gt;</div><p>The Heavy-Light Decomposition class. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
@@ -224,7 +191,7 @@ class range_queries::heavy_light_decomposition::HLD&lt; X &gt;</div><p>The Heavy
</dl>
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00336">336</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6e486767434e44076c1ac374a22da726" name="a6e486767434e44076c1ac374a22da726"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e486767434e44076c1ac374a22da726">&#9670;&#160;</a></span>HLD()</h2>
@@ -277,7 +244,7 @@ template&lt;typename X&gt; </div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="a7d5b40c076347a6aabfb37a0590f2f24" name="a7d5b40c076347a6aabfb37a0590f2f24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d5b40c076347a6aabfb37a0590f2f24">&#9670;&#160;</a></span>chain_query()</h2>
@@ -661,7 +628,7 @@ template&lt;typename X&gt; </div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a84424f180f12b514eaab57a6aa20b104" name="a84424f180f12b514eaab57a6aa20b104"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84424f180f12b514eaab57a6aa20b104">&#9670;&#160;</a></span>h_heavychlid</h2>
@@ -779,11 +746,19 @@ template&lt;typename X&gt; </div>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<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.13.2 </li>
<li class="navelem"><a href="../../dd/d69/namespacerange__queries.html">range_queries</a></li><li class="navelem"><b>heavy_light_decomposition</b></li><li class="navelem"><a 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.14.0 </li>
</ul>
</div>
</body>