mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-05-11 11:07:27 +08:00
Documentation for c26eea874d
This commit is contained in:
@@ -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.12.0"/>
|
||||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>TheAlgorithms/C++: range_queries::heavy_light_decomposition::Tree< X > Class Template Reference</title>
|
||||
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
|
||||
@@ -60,7 +60,7 @@ window.MathJax = {
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.12.0 -->
|
||||
<!-- Generated by Doxygen 1.13.2 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
@@ -209,7 +209,7 @@ Private Attributes</h2></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
|
||||
Friends</h2></td></tr>
|
||||
<tr class="memitem:afcdadbdea1e2391cebbb17d2c1ae2f0b" id="r_afcdadbdea1e2391cebbb17d2c1ae2f0b"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:afcdadbdea1e2391cebbb17d2c1ae2f0b" id="r_afcdadbdea1e2391cebbb17d2c1ae2f0b"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:afcdadbdea1e2391cebbb17d2c1ae2f0b"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#afcdadbdea1e2391cebbb17d2c1ae2f0b">HLD</a></td></tr>
|
||||
<tr class="separator:afcdadbdea1e2391cebbb17d2c1ae2f0b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
@@ -232,7 +232,7 @@ class range_queries::heavy_light_decomposition::Tree< X ></div><p>A Basic
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -246,7 +246,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel explicit">explicit</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -260,18 +260,19 @@ template<typename X > </div>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00140">140</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 141</span> : <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>(nodes), <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(floor(log2(nodes))) + 1) {</div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 141</span> : <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">nodes</a>), <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">floor</a>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">log2</a>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">nodes</a>))) + 1) {</div>
|
||||
<div class="line"><span class="lineno"> 142</span> <span class="comment">/* Initialize and resize all the vectors */</span></div>
|
||||
<div class="line"><span class="lineno"> 143</span> <a class="code hl_variable" href="#aa6c37e840355b9fb2105181c578694e8">t_root</a> = 0; <span class="comment">/* Default */</span></div>
|
||||
<div class="line"><span class="lineno"> 144</span> <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>.resize(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>);</div>
|
||||
<div class="line"><span class="lineno"> 145</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>.assign(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>, std::vector<int>(<a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>, -1));</div>
|
||||
<div class="line"><span class="lineno"> 145</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>.assign(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>, <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">std::vector<int></a>(<a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>, -1));</div>
|
||||
<div class="line"><span class="lineno"> 146</span> <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>.assign(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>, 0);</div>
|
||||
<div class="line"><span class="lineno"> 147</span> <a class="code hl_variable" href="#ada1494fccbc7f1f07b2f9be9f7e07ad5">t_size</a>.assign(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>, 1);</div>
|
||||
<div class="line"><span class="lineno"> 148</span> <a class="code hl_variable" href="#a135b7952593c9b1aae38fcaf1cc1abf7">t_val</a>.resize(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>);</div>
|
||||
<div class="line"><span class="lineno"> 149</span> }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html"><div class="ttname"><a href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">range_queries::heavy_light_decomposition::Tree</a></div><div class="ttdoc">A Basic Tree, which supports binary lifting.</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00078">heavy_light_decomposition.cpp:78</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_a0efd0b9c564092f443ca97030d866ef1"><div class="ttname"><a href="#a0efd0b9c564092f443ca97030d866ef1">range_queries::heavy_light_decomposition::Tree::t_depth</a></div><div class="ttdeci">std::vector< int > t_depth</div><div class="ttdoc">a vector to store the depth of a node,</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00088">heavy_light_decomposition.cpp:88</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_a135b7952593c9b1aae38fcaf1cc1abf7"><div class="ttname"><a href="#a135b7952593c9b1aae38fcaf1cc1abf7">range_queries::heavy_light_decomposition::Tree::t_val</a></div><div class="ttdeci">std::vector< X > t_val</div><div class="ttdoc">values of nodes</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00092">heavy_light_decomposition.cpp:92</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_a350157a5fb79f76fceae33fc84171203"><div class="ttname"><a href="#a350157a5fb79f76fceae33fc84171203">range_queries::heavy_light_decomposition::Tree::t_par</a></div><div class="ttdeci">std::vector< std::vector< int > > t_par</div><div class="ttdoc">a matrix to store every node's 2^kth parent</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00087">heavy_light_decomposition.cpp:87</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_a350157a5fb79f76fceae33fc84171203"><div class="ttname"><a href="#a350157a5fb79f76fceae33fc84171203">range_queries::heavy_light_decomposition::Tree::t_par</a></div><div class="ttdeci">std::vector< std::vector< int > > t_par</div><div class="ttdoc">a matrix to store every node's 2^kth parent</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00087">heavy_light_decomposition.cpp:87</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_aa6c37e840355b9fb2105181c578694e8"><div class="ttname"><a href="#aa6c37e840355b9fb2105181c578694e8">range_queries::heavy_light_decomposition::Tree::t_root</a></div><div class="ttdeci">int t_root</div><div class="ttdoc">the root of the tree</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00091">heavy_light_decomposition.cpp:91</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_ab1aeaefa1bd97b867c652ba916fbdb43"><div class="ttname"><a href="#ab1aeaefa1bd97b867c652ba916fbdb43">range_queries::heavy_light_decomposition::Tree::t_adj</a></div><div class="ttdeci">std::vector< std::list< int > > t_adj</div><div class="ttdoc">an adjacency list to stores the tree edges</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00083">heavy_light_decomposition.cpp:83</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_ab2ab020f798d00be2613ecf63074b7c1"><div class="ttname"><a href="#ab2ab020f798d00be2613ecf63074b7c1">range_queries::heavy_light_decomposition::Tree::t_maxlift</a></div><div class="ttdeci">const int t_maxlift</div><div class="ttdoc">maximum possible height of the tree</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00085">heavy_light_decomposition.cpp:85</a></div></div>
|
||||
@@ -287,7 +288,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -305,7 +306,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -322,8 +323,8 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00157">157</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 157</span> {</div>
|
||||
<div class="line"><span class="lineno"> 158</span> <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[u].push_back(v);</div>
|
||||
<div class="line"><span class="lineno"> 159</span> <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[v].push_back(u);</div>
|
||||
<div class="line"><span class="lineno"> 158</span> <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>].push_back(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a>);</div>
|
||||
<div class="line"><span class="lineno"> 159</span> <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a>].push_back(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>);</div>
|
||||
<div class="line"><span class="lineno"> 160</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
@@ -334,7 +335,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -348,7 +349,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -363,7 +364,7 @@ template<typename X > </div>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00167">167</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 167</span>{ <a class="code hl_variable" href="#aa6c37e840355b9fb2105181c578694e8">t_root</a> = new_root; }</div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 167</span>{ <a class="code hl_variable" href="#aa6c37e840355b9fb2105181c578694e8">t_root</a> = <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">new_root</a>; }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -373,7 +374,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -391,7 +392,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -408,24 +409,23 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00116">116</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 116</span> {</div>
|
||||
<div class="line"><span class="lineno"> 117</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[u][0] = p;</div>
|
||||
<div class="line"><span class="lineno"> 118</span> <span class="keywordflow">if</span> (p != -1) {</div>
|
||||
<div class="line"><span class="lineno"> 119</span> <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[u] = 1 + <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[p];</div>
|
||||
<div class="line"><span class="lineno"> 117</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>][0] = <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>;</div>
|
||||
<div class="line"><span class="lineno"> 118</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a> != -1) {</div>
|
||||
<div class="line"><span class="lineno"> 119</span> <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>] = 1 + <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>];</div>
|
||||
<div class="line"><span class="lineno"> 120</span> }</div>
|
||||
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 1; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> < <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>++) {</div>
|
||||
<div class="line"><span class="lineno"> 122</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[u][k - 1] != -1) {</div>
|
||||
<div class="line"><span class="lineno"> 123</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[u][<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>] = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[u][<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> - 1]][<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> - 1];</div>
|
||||
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> = 1; <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> < <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>; <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>++) {</div>
|
||||
<div class="line"><span class="lineno"> 122</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> - 1] != -1) {</div>
|
||||
<div class="line"><span class="lineno"> 123</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>] = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> - 1]][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> - 1];</div>
|
||||
<div class="line"><span class="lineno"> 124</span> }</div>
|
||||
<div class="line"><span class="lineno"> 125</span> }</div>
|
||||
<div class="line"><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><span class="lineno"> 127</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">int</span> &v : <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[u]) {</div>
|
||||
<div class="line"><span class="lineno"> 128</span> <span class="keywordflow">if</span> (v ^ p) {</div>
|
||||
<div class="line"><span class="lineno"> 129</span> <a class="code hl_function" href="#ae8de7aefcb6635d3dacdd174cd4890c4">dfs_lca</a>(v, u);</div>
|
||||
<div class="line"><span class="lineno"> 127</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">int</span> &<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a> : <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>]) {</div>
|
||||
<div class="line"><span class="lineno"> 128</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a> ^ <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>) {</div>
|
||||
<div class="line"><span class="lineno"> 129</span> <a class="code hl_function" href="#ae8de7aefcb6635d3dacdd174cd4890c4">dfs_lca</a>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a>, <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>);</div>
|
||||
<div class="line"><span class="lineno"> 130</span> }</div>
|
||||
<div class="line"><span class="lineno"> 131</span> }</div>
|
||||
<div class="line"><span class="lineno"> 132</span> }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_ae8de7aefcb6635d3dacdd174cd4890c4"><div class="ttname"><a href="#ae8de7aefcb6635d3dacdd174cd4890c4">range_queries::heavy_light_decomposition::Tree::dfs_lca</a></div><div class="ttdeci">void dfs_lca(int u, int p=-1)</div><div class="ttdoc">Utility function to populate the t_par vector.</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00116">heavy_light_decomposition.cpp:116</a></div></div>
|
||||
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d18/composite__simpson__rule_8cpp_source.html#l00117">composite_simpson_rule.cpp:117</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -435,7 +435,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -453,7 +453,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -471,10 +471,10 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00101">101</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 101</span> {</div>
|
||||
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">int</span> &v : <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[u]) {</div>
|
||||
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">if</span> (v ^ p) {</div>
|
||||
<div class="line"><span class="lineno"> 104</span> <a class="code hl_function" href="#aa339c31ec74cd86a4842a8b09653d460">dfs_size</a>(v, u);</div>
|
||||
<div class="line"><span class="lineno"> 105</span> <a class="code hl_variable" href="#ada1494fccbc7f1f07b2f9be9f7e07ad5">t_size</a>[u] += <a class="code hl_variable" href="#ada1494fccbc7f1f07b2f9be9f7e07ad5">t_size</a>[v];</div>
|
||||
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">int</span> &<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a> : <a class="code hl_variable" href="#ab1aeaefa1bd97b867c652ba916fbdb43">t_adj</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>]) {</div>
|
||||
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a> ^ <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>) {</div>
|
||||
<div class="line"><span class="lineno"> 104</span> <a class="code hl_function" href="#aa339c31ec74cd86a4842a8b09653d460">dfs_size</a>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a>, <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>);</div>
|
||||
<div class="line"><span class="lineno"> 105</span> <a class="code hl_variable" href="#ada1494fccbc7f1f07b2f9be9f7e07ad5">t_size</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">u</a>] += <a class="code hl_variable" href="#ada1494fccbc7f1f07b2f9be9f7e07ad5">t_size</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">v</a>];</div>
|
||||
<div class="line"><span class="lineno"> 106</span> }</div>
|
||||
<div class="line"><span class="lineno"> 107</span> }</div>
|
||||
<div class="line"><span class="lineno"> 108</span> }</div>
|
||||
@@ -488,7 +488,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -502,7 +502,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -512,7 +512,7 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00186">186</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 186</span> {</div>
|
||||
<div class="line"><span class="lineno"> 187</span> assert(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a> > 0);</div>
|
||||
<div class="line"><span class="lineno"> 187</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">assert</a>(<a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a> > 0);</div>
|
||||
<div class="line"><span class="lineno"> 188</span> <a class="code hl_function" href="#aa339c31ec74cd86a4842a8b09653d460">dfs_size</a>(<a class="code hl_variable" href="#aa6c37e840355b9fb2105181c578694e8">t_root</a>);</div>
|
||||
<div class="line"><span class="lineno"> 189</span> <a class="code hl_function" href="#ae8de7aefcb6635d3dacdd174cd4890c4">dfs_lca</a>(<a class="code hl_variable" href="#aa6c37e840355b9fb2105181c578694e8">t_root</a>);</div>
|
||||
<div class="line"><span class="lineno"> 190</span> }</div>
|
||||
@@ -525,7 +525,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -543,7 +543,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -560,8 +560,8 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00218">218</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 218</span> {</div>
|
||||
<div class="line"><span class="lineno"> 219</span> <a class="code hl_function" href="#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a>(&p, dist);</div>
|
||||
<div class="line"><span class="lineno"> 220</span> <span class="keywordflow">return</span> p;</div>
|
||||
<div class="line"><span class="lineno"> 219</span> <a class="code hl_function" href="#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a>(&<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>, <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">dist</a>);</div>
|
||||
<div class="line"><span class="lineno"> 220</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>;</div>
|
||||
<div class="line"><span class="lineno"> 221</span> }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_tree_html_ac7761255f2ba06b398b9aae5e4dce5f3"><div class="ttname"><a href="#ac7761255f2ba06b398b9aae5e4dce5f3">range_queries::heavy_light_decomposition::Tree::lift</a></div><div class="ttdeci">void lift(int *const p, int dist)</div><div class="ttdoc">The function lifts a node, k units up the tree. The lifting is done in place, and the result is store...</div><div class="ttdef"><b>Definition</b> <a href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00200">heavy_light_decomposition.cpp:200</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
@@ -573,7 +573,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -591,7 +591,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -608,23 +608,23 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00229">229</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 229</span> {</div>
|
||||
<div class="line"><span class="lineno"> 230</span> assert(a >= 0 and b >= 0 and a < <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a> and b < <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>);</div>
|
||||
<div class="line"><span class="lineno"> 231</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[a] > <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[b]) {</div>
|
||||
<div class="line"><span class="lineno"> 232</span> <a class="code hl_function" href="#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a>(&a, <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[a] - <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[b]);</div>
|
||||
<div class="line"><span class="lineno"> 230</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">assert</a>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a> >= 0 <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">and</a> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a> >= 0 <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">and</a> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a> < <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">and</a> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a> < <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>);</div>
|
||||
<div class="line"><span class="lineno"> 231</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>] > <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>]) {</div>
|
||||
<div class="line"><span class="lineno"> 232</span> <a class="code hl_function" href="#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a>(&<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>, <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>] - <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>]);</div>
|
||||
<div class="line"><span class="lineno"> 233</span> }</div>
|
||||
<div class="line"><span class="lineno"> 234</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[b] > <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[a]) {</div>
|
||||
<div class="line"><span class="lineno"> 235</span> <a class="code hl_function" href="#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a>(&b, <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[b] - <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[a]);</div>
|
||||
<div class="line"><span class="lineno"> 234</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>] > <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>]) {</div>
|
||||
<div class="line"><span class="lineno"> 235</span> <a class="code hl_function" href="#ac7761255f2ba06b398b9aae5e4dce5f3">lift</a>(&<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>, <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>] - <a class="code hl_variable" href="#a0efd0b9c564092f443ca97030d866ef1">t_depth</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>]);</div>
|
||||
<div class="line"><span class="lineno"> 236</span> }</div>
|
||||
<div class="line"><span class="lineno"> 237</span> <span class="keywordflow">if</span> (a == b) {</div>
|
||||
<div class="line"><span class="lineno"> 238</span> <span class="keywordflow">return</span> a;</div>
|
||||
<div class="line"><span class="lineno"> 237</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a> == <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>) {</div>
|
||||
<div class="line"><span class="lineno"> 238</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>;</div>
|
||||
<div class="line"><span class="lineno"> 239</span> }</div>
|
||||
<div class="line"><span class="lineno"> 240</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a> - 1; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> >= 0; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>--) {</div>
|
||||
<div class="line"><span class="lineno"> 241</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[a][k] != <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[b][k]) {</div>
|
||||
<div class="line"><span class="lineno"> 242</span> a = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[a][<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 243</span> b = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[b][<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 240</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> = <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a> - 1; <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> >= 0; <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>--) {</div>
|
||||
<div class="line"><span class="lineno"> 241</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>] != <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>]) {</div>
|
||||
<div class="line"><span class="lineno"> 242</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a> = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 243</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a> = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">b</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 244</span> }</div>
|
||||
<div class="line"><span class="lineno"> 245</span> }</div>
|
||||
<div class="line"><span class="lineno"> 246</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[a][0];</div>
|
||||
<div class="line"><span class="lineno"> 246</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">a</a>][0];</div>
|
||||
<div class="line"><span class="lineno"> 247</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
@@ -635,7 +635,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -653,7 +653,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -670,14 +670,14 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00200">200</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 200</span> {</div>
|
||||
<div class="line"><span class="lineno"> 201</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> < <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>++) {</div>
|
||||
<div class="line"><span class="lineno"> 202</span> <span class="keywordflow">if</span> (*p == -1) {</div>
|
||||
<div class="line"><span class="lineno"> 201</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> = 0; <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a> < <a class="code hl_variable" href="#ab2ab020f798d00be2613ecf63074b7c1">t_maxlift</a>; <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>++) {</div>
|
||||
<div class="line"><span class="lineno"> 202</span> <span class="keywordflow">if</span> (*<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a> == -1) {</div>
|
||||
<div class="line"><span class="lineno"> 203</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 204</span> }</div>
|
||||
<div class="line"><span class="lineno"> 205</span> <span class="keywordflow">if</span> (dist & 1) {</div>
|
||||
<div class="line"><span class="lineno"> 206</span> *p = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[*p][<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 205</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">dist</a> & 1) {</div>
|
||||
<div class="line"><span class="lineno"> 206</span> *<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a> = <a class="code hl_variable" href="#a350157a5fb79f76fceae33fc84171203">t_par</a>[*<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">p</a>][<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 207</span> }</div>
|
||||
<div class="line"><span class="lineno"> 208</span> dist >>= 1;</div>
|
||||
<div class="line"><span class="lineno"> 208</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">dist</a> >>= 1;</div>
|
||||
<div class="line"><span class="lineno"> 209</span> }</div>
|
||||
<div class="line"><span class="lineno"> 210</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
@@ -689,7 +689,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -703,7 +703,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -719,8 +719,8 @@ template<typename X > </div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html#l00175">175</a> of file <a class="el" href="../../d2/de9/heavy__light__decomposition_8cpp_source.html">heavy_light_decomposition.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 175</span> {</div>
|
||||
<div class="line"><span class="lineno"> 176</span> assert(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(node_val.size()) == <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>);</div>
|
||||
<div class="line"><span class="lineno"> 177</span> <a class="code hl_variable" href="#a135b7952593c9b1aae38fcaf1cc1abf7">t_val</a> = node_val;</div>
|
||||
<div class="line"><span class="lineno"> 176</span> <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">assert</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(<a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">node_val</a>.size()) == <a class="code hl_variable" href="#ae4630fa70a80a1dc65a875488a67178a">t_nodes</a>);</div>
|
||||
<div class="line"><span class="lineno"> 177</span> <a class="code hl_variable" href="#a135b7952593c9b1aae38fcaf1cc1abf7">t_val</a> = <a class="code hl_class" href="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">node_val</a>;</div>
|
||||
<div class="line"><span class="lineno"> 178</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
@@ -732,9 +732,9 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -745,7 +745,7 @@ template<typename T > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel friend">friend</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -761,7 +761,7 @@ template<typename T > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -772,7 +772,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -789,7 +789,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -800,7 +800,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -817,7 +817,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -828,7 +828,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -845,7 +845,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -856,7 +856,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -873,7 +873,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -884,7 +884,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -901,7 +901,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -912,7 +912,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -929,7 +929,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -940,7 +940,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -957,7 +957,7 @@ template<typename X > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename X > </div>
|
||||
template<typename X> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -968,7 +968,7 @@ template<typename X > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -988,7 +988,7 @@ template<typename X > </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="../../d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html">Tree</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.12.0 </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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user