mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-30 08:41:30 +08:00
Documentation for 2dadbf73f4
This commit is contained in:
@@ -3,16 +3,18 @@
|
||||
<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.8"/>
|
||||
<meta name="generator" content="Doxygen 1.10.0"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: range_queries::fenwick_tree Class Reference</title>
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<script type="text/javascript" src="../../clipboard.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.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>
|
||||
<script type="text/javascript" src="../../search/search.js"></script>
|
||||
@@ -41,7 +43,7 @@ MathJax.Hub.Config({
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<!-- Generated by Doxygen 1.10.0 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
@@ -53,7 +55,7 @@ var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
$(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -71,7 +73,7 @@ $(function() {
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('de/d0d/classrange__queries_1_1fenwick__tree.html','../../'); initResizable(); });
|
||||
$(function(){initNavTree('de/d0d/classrange__queries_1_1fenwick__tree.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
@@ -107,7 +109,7 @@ $(document).ready(function(){initNavTree('de/d0d/classrange__queries_1_1fenwick_
|
||||
<div class="contents">
|
||||
|
||||
<p>The class that initializes the Fenwick Tree.
|
||||
<a href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#details">More...</a></p>
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for range_queries::fenwick_tree:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -117,28 +119,28 @@ Collaboration diagram for range_queries::fenwick_tree:</div>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a5ea37183524553bbf2234a36a44a4b9a" id="r_a5ea37183524553bbf2234a36a44a4b9a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a5ea37183524553bbf2234a36a44a4b9a"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a5ea37183524553bbf2234a36a44a4b9a">fenwick_tree</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< T > &arr)</td></tr>
|
||||
<tr class="memitem:a5ea37183524553bbf2234a36a44a4b9a"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a5ea37183524553bbf2234a36a44a4b9a">fenwick_tree</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< T > &arr)</td></tr>
|
||||
<tr class="memdesc:a5ea37183524553bbf2234a36a44a4b9a"><td class="mdescLeft"> </td><td class="mdescRight">Class Constructor. <br /></td></tr>
|
||||
<tr class="separator:a5ea37183524553bbf2234a36a44a4b9a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aef7ba885b91af093e9e514358fa0f36c" id="r_aef7ba885b91af093e9e514358fa0f36c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:aef7ba885b91af093e9e514358fa0f36c"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#aef7ba885b91af093e9e514358fa0f36c">fenwick_tree</a> (T x)</td></tr>
|
||||
<tr class="memitem:aef7ba885b91af093e9e514358fa0f36c"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#aef7ba885b91af093e9e514358fa0f36c">fenwick_tree</a> (T x)</td></tr>
|
||||
<tr class="memdesc:aef7ba885b91af093e9e514358fa0f36c"><td class="mdescLeft"> </td><td class="mdescRight">Class Constructor. <br /></td></tr>
|
||||
<tr class="separator:aef7ba885b91af093e9e514358fa0f36c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a19dea5e88bbd7683a719030623315de9" id="r_a19dea5e88bbd7683a719030623315de9"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a19dea5e88bbd7683a719030623315de9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9">update</a> (T id, T val)</td></tr>
|
||||
<tr class="memitem:a19dea5e88bbd7683a719030623315de9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a19dea5e88bbd7683a719030623315de9">update</a> (T id, T val)</td></tr>
|
||||
<tr class="memdesc:a19dea5e88bbd7683a719030623315de9"><td class="mdescLeft"> </td><td class="mdescRight">Updates the value of an element in original array and accordingly updates the values in BIT array. <br /></td></tr>
|
||||
<tr class="separator:a19dea5e88bbd7683a719030623315de9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1fa0559d987fde0044761b17b35f5abd" id="r_a1fa0559d987fde0044761b17b35f5abd"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a1fa0559d987fde0044761b17b35f5abd"><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd">sum</a> (T id)</td></tr>
|
||||
<tr class="memitem:a1fa0559d987fde0044761b17b35f5abd"><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a1fa0559d987fde0044761b17b35f5abd">sum</a> (T id)</td></tr>
|
||||
<tr class="memdesc:a1fa0559d987fde0044761b17b35f5abd"><td class="mdescLeft"> </td><td class="mdescRight">Returns the sum of elements in range from 0 to ID. <br /></td></tr>
|
||||
<tr class="separator:a1fa0559d987fde0044761b17b35f5abd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0914a4b1401a7c427de91c92885724fe" id="r_a0914a4b1401a7c427de91c92885724fe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a0914a4b1401a7c427de91c92885724fe">sum_range</a> (int l, int r)</td></tr>
|
||||
<tr class="memitem:a0914a4b1401a7c427de91c92885724fe" id="r_a0914a4b1401a7c427de91c92885724fe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0914a4b1401a7c427de91c92885724fe">sum_range</a> (int l, int r)</td></tr>
|
||||
<tr class="memdesc:a0914a4b1401a7c427de91c92885724fe"><td class="mdescLeft"> </td><td class="mdescRight">Returns the prefix sum in range from L to R. <br /></td></tr>
|
||||
<tr class="separator:a0914a4b1401a7c427de91c92885724fe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ab492ebf07cab0e3c32d277ad986de801" id="r_ab492ebf07cab0e3c32d277ad986de801"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801">offset</a> (int x)</td></tr>
|
||||
<tr class="memitem:ab492ebf07cab0e3c32d277ad986de801" id="r_ab492ebf07cab0e3c32d277ad986de801"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab492ebf07cab0e3c32d277ad986de801">offset</a> (int x)</td></tr>
|
||||
<tr class="memdesc:ab492ebf07cab0e3c32d277ad986de801"><td class="mdescLeft"> </td><td class="mdescRight">Returns the highest power of two which is not more than <code>x</code>. <br /></td></tr>
|
||||
<tr class="separator:ab492ebf07cab0e3c32d277ad986de801"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
@@ -148,7 +150,7 @@ Private Attributes</h2></td></tr>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><b>n</b> = 0</td></tr>
|
||||
<tr class="memdesc:af9f543aa5976b8cc5422490b3d6250c6"><td class="mdescLeft"> </td><td class="mdescRight">No. of elements present in input array. <br /></td></tr>
|
||||
<tr class="separator:af9f543aa5976b8cc5422490b3d6250c6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af7b7a8c1c5724ed8683d7e28bef526e6" id="r_af7b7a8c1c5724ed8683d7e28bef526e6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a> {}</td></tr>
|
||||
<tr class="memitem:af7b7a8c1c5724ed8683d7e28bef526e6" id="r_af7b7a8c1c5724ed8683d7e28bef526e6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int > </td><td class="memItemRight" valign="bottom"><a class="el" href="#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a> {}</td></tr>
|
||||
<tr class="memdesc:af7b7a8c1c5724ed8683d7e28bef526e6"><td class="mdescLeft"> </td><td class="mdescRight">Array that represents Binary Indexed Tree. <br /></td></tr>
|
||||
<tr class="separator:af7b7a8c1c5724ed8683d7e28bef526e6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
@@ -169,8 +171,7 @@ template<typename T > </div>
|
||||
<tr>
|
||||
<td class="memname">range_queries::fenwick_tree::fenwick_tree </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< T > & </td>
|
||||
<td class="paramname"><em>arr</em></td><td>)</td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< T > &</td> <td class="paramname"><span class="paramname"><em>arr</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -195,16 +196,16 @@ template<typename T > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 50</span> : <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">n</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()) {</div>
|
||||
<div class="line"><span class="lineno"> 51</span> <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/assign.html">assign</a>(<a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">n</a> + 1, 0);</div>
|
||||
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">n</a>; ++i) {</div>
|
||||
<div class="line"><span class="lineno"> 53</span> <a class="code hl_function" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9">update</a>(i, arr[i]);</div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 50</span> : <a class="code hl_variable" href="#af9f543aa5976b8cc5422490b3d6250c6">n</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()) {</div>
|
||||
<div class="line"><span class="lineno"> 51</span> <a class="code hl_variable" href="#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/assign.html">assign</a>(<a class="code hl_variable" href="#af9f543aa5976b8cc5422490b3d6250c6">n</a> + 1, 0);</div>
|
||||
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code hl_variable" href="#af9f543aa5976b8cc5422490b3d6250c6">n</a>; ++i) {</div>
|
||||
<div class="line"><span class="lineno"> 53</span> <a class="code hl_function" href="#a19dea5e88bbd7683a719030623315de9">update</a>(i, arr[i]);</div>
|
||||
<div class="line"><span class="lineno"> 54</span> }</div>
|
||||
<div class="line"><span class="lineno"> 55</span> }</div>
|
||||
<div class="ttc" id="aassign_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/assign.html">std::vector::assign</a></div><div class="ttdeci">T assign(T... args)</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_a19dea5e88bbd7683a719030623315de9"><div class="ttname"><a href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a19dea5e88bbd7683a719030623315de9">range_queries::fenwick_tree::update</a></div><div class="ttdeci">void update(T id, T val)</div><div class="ttdoc">Updates the value of an element in original array and accordingly updates the values in BIT array.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:75</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_af7b7a8c1c5724ed8683d7e28bef526e6"><div class="ttname"><a href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6">range_queries::fenwick_tree::bit</a></div><div class="ttdeci">std::vector< int > bit</div><div class="ttdoc">Array that represents Binary Indexed Tree.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:34</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_af9f543aa5976b8cc5422490b3d6250c6"><div class="ttname"><a href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">range_queries::fenwick_tree::n</a></div><div class="ttdeci">size_t n</div><div class="ttdoc">No. of elements present in input array.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:33</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_a19dea5e88bbd7683a719030623315de9"><div class="ttname"><a href="#a19dea5e88bbd7683a719030623315de9">range_queries::fenwick_tree::update</a></div><div class="ttdeci">void update(T id, T val)</div><div class="ttdoc">Updates the value of an element in original array and accordingly updates the values in BIT array.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:75</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_af7b7a8c1c5724ed8683d7e28bef526e6"><div class="ttname"><a href="#af7b7a8c1c5724ed8683d7e28bef526e6">range_queries::fenwick_tree::bit</a></div><div class="ttdeci">std::vector< int > bit</div><div class="ttdoc">Array that represents Binary Indexed Tree.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:34</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_af9f543aa5976b8cc5422490b3d6250c6"><div class="ttname"><a href="#af9f543aa5976b8cc5422490b3d6250c6">range_queries::fenwick_tree::n</a></div><div class="ttdeci">size_t n</div><div class="ttdoc">No. of elements present in input array.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:33</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -228,8 +229,7 @@ template<typename T > </div>
|
||||
<tr>
|
||||
<td class="memname">range_queries::fenwick_tree::fenwick_tree </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">T </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>x</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -254,7 +254,7 @@ template<typename T > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 64</span>: <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">n</a>(x) { <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/assign.html">assign</a>(<a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">n</a> + 1, 0); }</div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 64</span>: <a class="code hl_variable" href="#af9f543aa5976b8cc5422490b3d6250c6">n</a>(x) { <a class="code hl_variable" href="#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/assign.html">assign</a>(<a class="code hl_variable" href="#af9f543aa5976b8cc5422490b3d6250c6">n</a> + 1, 0); }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -276,8 +276,7 @@ Here is the call graph for this function:</div>
|
||||
<tr>
|
||||
<td class="memname">int range_queries::fenwick_tree::offset </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>x</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -314,8 +313,7 @@ template<typename T > </div>
|
||||
<tr>
|
||||
<td class="memname">int range_queries::fenwick_tree::sum </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">T </td>
|
||||
<td class="paramname"><em>id</em></td><td>)</td>
|
||||
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>id</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -344,12 +342,12 @@ template<typename T > </div>
|
||||
<div class="line"><span class="lineno"> 91</span> <span class="keywordtype">id</span>++;</div>
|
||||
<div class="line"><span class="lineno"> 92</span> T res = 0;</div>
|
||||
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">while</span> (<span class="keywordtype">id</span> > 0) {</div>
|
||||
<div class="line"><span class="lineno"> 94</span> res += <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>[id];</div>
|
||||
<div class="line"><span class="lineno"> 95</span> <span class="keywordtype">id</span> -= <a class="code hl_function" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801">offset</a>(<span class="keywordtype">id</span>);</div>
|
||||
<div class="line"><span class="lineno"> 94</span> res += <a class="code hl_variable" href="#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>[id];</div>
|
||||
<div class="line"><span class="lineno"> 95</span> <span class="keywordtype">id</span> -= <a class="code hl_function" href="#ab492ebf07cab0e3c32d277ad986de801">offset</a>(<span class="keywordtype">id</span>);</div>
|
||||
<div class="line"><span class="lineno"> 96</span> }</div>
|
||||
<div class="line"><span class="lineno"> 97</span> <span class="keywordflow">return</span> res;</div>
|
||||
<div class="line"><span class="lineno"> 98</span> }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_ab492ebf07cab0e3c32d277ad986de801"><div class="ttname"><a href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801">range_queries::fenwick_tree::offset</a></div><div class="ttdeci">int offset(int x)</div><div class="ttdoc">Returns the highest power of two which is not more than x.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:41</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_ab492ebf07cab0e3c32d277ad986de801"><div class="ttname"><a href="#ab492ebf07cab0e3c32d277ad986de801">range_queries::fenwick_tree::offset</a></div><div class="ttdeci">int offset(int x)</div><div class="ttdoc">Returns the highest power of two which is not more than x.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:41</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -370,19 +368,12 @@ Here is the call graph for this function:</div>
|
||||
<tr>
|
||||
<td class="memname">int range_queries::fenwick_tree::sum_range </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>l</em>, </td>
|
||||
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>l</em>, </span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>r</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>r</em></span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -401,8 +392,8 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Sum of elements in range from L to R. </dd></dl>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 106</span>{ <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd">sum</a>(r) - <a class="code hl_function" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd">sum</a>(l - 1); }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_a1fa0559d987fde0044761b17b35f5abd"><div class="ttname"><a href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#a1fa0559d987fde0044761b17b35f5abd">range_queries::fenwick_tree::sum</a></div><div class="ttdeci">int sum(T id)</div><div class="ttdoc">Returns the sum of elements in range from 0 to ID.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:90</div></div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 106</span>{ <span class="keywordflow">return</span> <a class="code hl_function" href="#a1fa0559d987fde0044761b17b35f5abd">sum</a>(r) - <a class="code hl_function" href="#a1fa0559d987fde0044761b17b35f5abd">sum</a>(l - 1); }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1fenwick__tree_html_a1fa0559d987fde0044761b17b35f5abd"><div class="ttname"><a href="#a1fa0559d987fde0044761b17b35f5abd">range_queries::fenwick_tree::sum</a></div><div class="ttdeci">int sum(T id)</div><div class="ttdoc">Returns the sum of elements in range from 0 to ID.</div><div class="ttdef"><b>Definition</b> fenwick_tree.cpp:90</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -425,19 +416,12 @@ template<typename T > </div>
|
||||
<tr>
|
||||
<td class="memname">void range_queries::fenwick_tree::update </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">T </td>
|
||||
<td class="paramname"><em>id</em>, </td>
|
||||
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>id</em>, </span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">T </td>
|
||||
<td class="paramname"><em>val</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>val</em></span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -464,9 +448,9 @@ template<typename T > </div>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 75</span> {</div>
|
||||
<div class="line"><span class="lineno"> 76</span> <span class="keywordtype">id</span>++;</div>
|
||||
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">while</span> (<span class="keywordtype">id</span> <= <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af9f543aa5976b8cc5422490b3d6250c6">n</a>) {</div>
|
||||
<div class="line"><span class="lineno"> 78</span> <a class="code hl_variable" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>[id] += val;</div>
|
||||
<div class="line"><span class="lineno"> 79</span> <span class="keywordtype">id</span> += <a class="code hl_function" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html#ab492ebf07cab0e3c32d277ad986de801">offset</a>(<span class="keywordtype">id</span>);</div>
|
||||
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">while</span> (<span class="keywordtype">id</span> <= <a class="code hl_variable" href="#af9f543aa5976b8cc5422490b3d6250c6">n</a>) {</div>
|
||||
<div class="line"><span class="lineno"> 78</span> <a class="code hl_variable" href="#af7b7a8c1c5724ed8683d7e28bef526e6">bit</a>[id] += val;</div>
|
||||
<div class="line"><span class="lineno"> 79</span> <span class="keywordtype">id</span> += <a class="code hl_function" href="#ab492ebf07cab0e3c32d277ad986de801">offset</a>(<span class="keywordtype">id</span>);</div>
|
||||
<div class="line"><span class="lineno"> 80</span> }</div>
|
||||
<div class="line"><span class="lineno"> 81</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
@@ -512,7 +496,7 @@ Here is the call graph for this function:</div>
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dd/d69/namespacerange__queries.html">range_queries</a></li><li class="navelem"><a class="el" href="../../de/d0d/classrange__queries_1_1fenwick__tree.html">fenwick_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.9.8 </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.10.0 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user