Documentation for b12dad038c
@@ -146,6 +146,8 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
|
||||
<tr id="row_10_0_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" target="_self">Tree</a></td><td class="desc">A Basic <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, which supports binary lifting </td></tr>
|
||||
<tr id="row_10_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html" target="_self">SG</a></td><td class="desc">Segment <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, to store heavy chains </td></tr>
|
||||
<tr id="row_10_0_2_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">HLD</a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
|
||||
<tr id="row_10_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_10_1_" class="arrow" onclick="toggleFolder('10_1_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html" target="_self">perSegTree</a></td><td class="desc">Range query here is range sum, but the code can be modified to make different queries like range max or min </td></tr>
|
||||
<tr id="row_10_1_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_11_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d2/dcf/namespacestatistics.html" target="_self">statistics</a></td><td class="desc">Statistical algorithms </td></tr>
|
||||
<tr id="row_11_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_self">stats_computer1</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_11_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html" target="_self">stats_computer2</a></td><td class="desc"></td></tr>
|
||||
@@ -172,8 +174,8 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
|
||||
<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/da1/structnode.html" target="_self">node</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc8/struct_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d1b/structquery.html" target="_self">query</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/db4/struct_segment_intersection.html" target="_self">SegmentIntersection</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/class_solution.html" target="_self">Solution</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc2/classstack.html" target="_self">stack</a></td><td class="desc"></td></tr>
|
||||
|
||||
@@ -70,7 +70,8 @@ var annotated_dup =
|
||||
[ "Tree", "d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html", "d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree" ],
|
||||
[ "SG", "d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html", "d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g" ],
|
||||
[ "HLD", "d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html", "d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d" ]
|
||||
] ]
|
||||
] ],
|
||||
[ "perSegTree", "d8/d28/classrange__queries_1_1per_seg_tree.html", "d8/d28/classrange__queries_1_1per_seg_tree" ]
|
||||
] ],
|
||||
[ "statistics", "d2/dcf/namespacestatistics.html", [
|
||||
[ "stats_computer1", "d7/d7c/classstatistics_1_1stats__computer1.html", "d7/d7c/classstatistics_1_1stats__computer1" ],
|
||||
@@ -98,8 +99,8 @@ var annotated_dup =
|
||||
[ "node", "d5/da1/structnode.html", "d5/da1/structnode" ],
|
||||
[ "Point", "d8/dc8/struct_point.html", "d8/dc8/struct_point" ],
|
||||
[ "query", "dd/d1b/structquery.html", "dd/d1b/structquery" ],
|
||||
[ "queue", "db/da9/classqueue.html", "db/da9/classqueue" ],
|
||||
[ "Queue", "dc/db5/struct_queue.html", "dc/db5/struct_queue" ],
|
||||
[ "queue", "db/da9/classqueue.html", "db/da9/classqueue" ],
|
||||
[ "SegmentIntersection", "d4/db4/struct_segment_intersection.html", "d4/db4/struct_segment_intersection" ],
|
||||
[ "Solution", "dd/d4f/class_solution.html", "dd/d4f/class_solution" ],
|
||||
[ "stack", "d1/dc2/classstack.html", "d1/dc2/classstack" ],
|
||||
|
||||
@@ -131,13 +131,13 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
|
||||
<dd><a class="el" href="d2/d05/class_min_heap.html">MinHeap</a></dd><dd><a class="el" href="d5/d29/struct_min_heap_node.html">MinHeapNode</a></dd><dd><a class="el" href="d1/d77/structmst.html">mst</a></dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_N">N</a></dt>
|
||||
<dd><a class="el" href="d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">NCRModuloP</a> (math::ncr_modulo_p)</dd><dd><a class="el" href="d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">NeuralNetwork</a> (machine_learning::neural_network)</dd><dd><a class="el" href="d9/d49/structdata__structures_1_1_node.html">Node</a> (<a class="el" href="d5/d3c/namespacedata__structures.html">data_structures</a>)</dd><dd><a class="el" href="dd/d40/classdata__structures_1_1tree__234_1_1_node.html">Node</a> (data_structures::tree_234)</dd><dd><a class="el" href="db/d8b/struct_node.html">Node</a></dd><dd><a class="el" href="d5/da1/structnode.html">node</a></dd></dl>
|
||||
<dd><a class="el" href="d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">NCRModuloP</a> (math::ncr_modulo_p)</dd><dd><a class="el" href="d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">NeuralNetwork</a> (machine_learning::neural_network)</dd><dd><a class="el" href="d9/d49/structdata__structures_1_1_node.html">Node</a> (<a class="el" href="d5/d3c/namespacedata__structures.html">data_structures</a>)</dd><dd><a class="el" href="dd/d40/classdata__structures_1_1tree__234_1_1_node.html">Node</a> (data_structures::tree_234)</dd><dd><a class="el" href="db/d8b/struct_node.html">Node</a></dd><dd><a class="el" href="d5/da1/structnode.html">node</a></dd><dd><a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">perSegTree::Node</a> (<a class="el" href="dd/d69/namespacerange__queries.html">range_queries</a>)</dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_P">P</a></dt>
|
||||
<dd><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html">Point</a> (geometry::jarvis)</dd><dd><a class="el" href="d8/dc8/struct_point.html">Point</a></dd></dl>
|
||||
<dd><a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</a> (<a class="el" href="dd/d69/namespacerange__queries.html">range_queries</a>)</dd><dd><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html">Point</a> (geometry::jarvis)</dd><dd><a class="el" href="d8/dc8/struct_point.html">Point</a></dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_Q">Q</a></dt>
|
||||
<dd><a class="el" href="dd/d1b/structquery.html">query</a></dd><dd><a class="el" href="db/da9/classqueue.html">queue</a></dd><dd><a class="el" href="dc/db5/struct_queue.html">Queue</a></dd><dd><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html">Queue_Array</a> (data_structures::queue_using_array)</dd></dl>
|
||||
<dd><a class="el" href="dd/d1b/structquery.html">query</a></dd><dd><a class="el" href="dc/db5/struct_queue.html">Queue</a></dd><dd><a class="el" href="db/da9/classqueue.html">queue</a></dd><dd><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html">Queue_Array</a> (data_structures::queue_using_array)</dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_R">R</a></dt>
|
||||
<dd><a class="el" href="d0/d58/classgraph_1_1_rooted_tree.html">RootedTree</a> (<a class="el" href="df/dce/namespacegraph.html">graph</a>)</dd></dl>
|
||||
|
||||
6
d2/d86/persistent__seg__tree__lazy__prop_8cpp__incl.map
Normal file
@@ -0,0 +1,6 @@
|
||||
<map id="range_queries/persistent_seg_tree_lazy_prop.cpp" name="range_queries/persistent_seg_tree_lazy_prop.cpp">
|
||||
<area shape="rect" id="node1" title="Persistent segment tree with range updates (lazy propagation)" alt="" coords="53,5,219,47"/>
|
||||
<area shape="rect" id="node2" title=" " alt="" coords="5,95,77,121"/>
|
||||
<area shape="rect" id="node3" title=" " alt="" coords="101,95,171,121"/>
|
||||
<area shape="rect" id="node4" title=" " alt="" coords="195,95,253,121"/>
|
||||
</map>
|
||||
1
d2/d86/persistent__seg__tree__lazy__prop_8cpp__incl.md5
Normal file
@@ -0,0 +1 @@
|
||||
f64f1b8c1a47f493062193cfe5871824
|
||||
68
d2/d86/persistent__seg__tree__lazy__prop_8cpp__incl.svg
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries/persistent_seg_tree_lazy_prop.cpp Pages: 1 -->
|
||||
<svg width="194pt" height="95pt"
|
||||
viewBox="0.00 0.00 194.00 95.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 91)">
|
||||
<title>range_queries/persistent_seg_tree_lazy_prop.cpp</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-91 190,-91 190,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Persistent segment tree with range updates (lazy propagation)">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="35.5,-56.5 35.5,-86.5 160.5,-86.5 160.5,-56.5 35.5,-56.5"/>
|
||||
<text text-anchor="start" x="43.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries/persistent</text>
|
||||
<text text-anchor="middle" x="98" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">_seg_tree_lazy_prop.cpp</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="0,-0.5 0,-19.5 54,-19.5 54,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="27" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M81.17,-56.4C70.33,-47.31 56.22,-35.49 45.13,-26.19"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="47.24,-23.4 37.33,-19.66 42.75,-28.76 47.24,-23.4"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="72,-0.5 72,-19.5 124,-19.5 124,-0.5 72,-0.5"/>
|
||||
<text text-anchor="middle" x="98" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M98,-56.4C98,-48.47 98,-38.46 98,-29.86"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="101.5,-29.66 98,-19.66 94.5,-29.66 101.5,-29.66"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="142,-0.5 142,-19.5 186,-19.5 186,-0.5 142,-0.5"/>
|
||||
<text text-anchor="middle" x="164" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M113.64,-56.4C123.63,-47.4 136.58,-35.72 146.85,-26.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="149.31,-28.95 154.4,-19.66 144.63,-23.75 149.31,-28.95"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -269,7 +269,7 @@ Here is the call graph for this function:</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1heavy__light__decomposition_1_1_h_l_d_html"><div class="ttname"><a href="../../d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html">range_queries::heavy_light_decomposition::HLD</a></div><div class="ttdoc">The Heavy-Light Decomposition class.</div><div class="ttdef"><b>Definition:</b> heavy_light_decomposition.cpp:336</div></div>
|
||||
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
|
||||
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector< int64_t ></a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
271
d5/d58/persistent__seg__tree__lazy__prop_8cpp.html
Normal file
@@ -0,0 +1,271 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: range_queries/persistent_seg_tree_lazy_prop.cpp File 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>
|
||||
<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>
|
||||
<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>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Algorithms_in_C++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license-end */
|
||||
</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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('d5/d58/persistent__seg__tree__lazy__prop_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">persistent_seg_tree_lazy_prop.cpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://en.wikipedia.org/wiki/Persistent_data_structure">Persistent segment tree with range updates (lazy propagation)</a>
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <iostream></code><br />
|
||||
<code>#include <memory></code><br />
|
||||
<code>#include <vector></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for persistent_seg_tree_lazy_prop.cpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d86/persistent__seg__tree__lazy__prop_8cpp__incl.svg" width="259" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Range query here is range sum, but the code can be modified to make different queries like range max or min. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
|
||||
Namespaces</h2></td></tr>
|
||||
<tr class="memitem:dd/d69/namespacerange__queries"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d69/namespacerange__queries.html">range_queries</a></td></tr>
|
||||
<tr class="memdesc:dd/d69/namespacerange__queries"><td class="mdescLeft"> </td><td class="mdescRight">Algorithms and Data Structures that support range queries and updates. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
|
||||
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft"> </td><td class="mdescRight">Test implementations. <a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">More...</a><br /></td></tr>
|
||||
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
<tr class="memdesc:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="mdescLeft"> </td><td class="mdescRight">Main function. <a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a href="https://en.wikipedia.org/wiki/Persistent_data_structure">Persistent segment tree with range updates (lazy propagation)</a> </p>
|
||||
<p>A normal segment tree facilitates making point updates and range queries in logarithmic time. Lazy propagation preserves the logarithmic time with range updates. So, a segment tree with lazy propagation enables doing range updates and range queries in logarithmic time, but it doesn't save any information about itself before the last update. A persistent data structure always preserves the previous version of itself when it is modified. That is, a new version of the segment tree is generated after every update. It saves all previous versions of itself (before every update) to facilitate doing range queries in any version. More memory is used ,but the logarithmic time is preserved because the new version points to the same nodes, that the previous version points to, that are not affected by the update. That is, only the nodes that are affected by the update and their ancestors are copied. The rest is copied using lazy propagation in the next queries. Thus preserving the logarithmic time because the number of nodes copied after any update is logarithmic.</p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/MSedra">Magdy Sedra</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Main function. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
|
||||
<div class="ttc" id="apersistent__seg__tree__lazy__prop_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Test implementations.</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:268</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="100%" height="525"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa8dca7b867074164d5f45b0f3851269d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">◆ </a></span>test()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">static void test </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Test implementations. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<int64_t></a> arr = {-5, 2, 3, 11, -2, 7, 0, 1};</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a> tree;</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Elements before any updates are {"</span>;</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">for</span> (uint32_t i = 0; i < arr.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); ++i) {</div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << arr[i];</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">if</span> (i != arr.size() - 1) {</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">","</span>;</div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"}\n"</span>;</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(</div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  arr); <span class="comment">// constructing the original segment tree (version = 0)</span></div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Querying range sum on version 0 from index 2 to 4 = 3+11-2 = "</span></div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  << tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(2, 4, 0) << <span class="charliteral">'\n'</span>;</div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  << <span class="stringliteral">"Subtract 7 from all elements from index 1 to index 5 inclusive\n"</span>;</div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(1, 5, -7); <span class="comment">// subtracting 7 from index 1 to index 5</span></div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Elements of the segment tree whose version = 1 (after 1 "</span></div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="stringliteral">"update) are {"</span>;</div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">for</span> (uint32_t i = 0; i < arr.size(); ++i) {</div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(i, i, 1);</div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">if</span> (i != arr.size() - 1) {</div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">","</span>;</div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  }</div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"}\n"</span>;</div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Add 10 to all elements from index 0 to index 7 inclusive\n"</span>;</div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(0, 7, 10); <span class="comment">// adding 10 to all elements</span></div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Elements of the segment tree whose version = 2 (after 2 "</span></div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="stringliteral">"updates) are {"</span>;</div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">for</span> (uint32_t i = 0; i < arr.size(); ++i) {</div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(i, i, 2);</div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> (i != arr.size() - 1) {</div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">","</span>;</div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  }</div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"}\n"</span>;</div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Number of segment trees (versions) now = "</span> << tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">size</a>()</div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  << <span class="charliteral">'\n'</span>;</div>
|
||||
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Querying range sum on version 0 from index 3 to 5 = 11-2+7 = "</span></div>
|
||||
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  << tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(3, 5, 0) << <span class="charliteral">'\n'</span>;</div>
|
||||
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Querying range sum on version 1 from index 3 to 5 = 4-9+0 = "</span></div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  << tree.<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(3, 5, 1) << <span class="charliteral">'\n'</span>;</div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
|
||||
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></div><div class="ttdoc">Range query here is range sum, but the code can be modified to make different queries like range max ...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:39</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a0fe4e431f3e09c274ecd7d2d58dcb865"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">range_queries::perSegTree::size</a></div><div class="ttdeci">uint32_t size()</div><div class="ttdoc">Getting the number of versions after updates so far which is equal to the size of the pointers vector...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:255</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a67d8371bc998c67d53e8f64db4f52767"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">range_queries::perSegTree::construct</a></div><div class="ttdeci">std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)</div><div class="ttdoc">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:106</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ae8ae4b1835e5e8aec32f68c5059ed4d4"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">range_queries::perSegTree::query</a></div><div class="ttdeci">int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)</div><div class="ttdoc">Querying the range from index l to index r, checking at every node if it has some value to be propaga...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:171</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_af16c0c87b29119f066041d6e71ab50e0"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">range_queries::perSegTree::update</a></div><div class="ttdeci">std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)</div><div class="ttdoc">Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:135</div></div>
|
||||
<div class="ttc" id="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 class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector< int64_t ></a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="100%" height="525"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_074119ce3a874b57120c49a0cc4bb5ad.html">range_queries</a></li><li class="navelem"><a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.cpp</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.1 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
7
d5/d58/persistent__seg__tree__lazy__prop_8cpp.js
Normal file
@@ -0,0 +1,7 @@
|
||||
var persistent__seg__tree__lazy__prop_8cpp =
|
||||
[
|
||||
[ "perSegTree", "d8/d28/classrange__queries_1_1per_seg_tree.html", "d8/d28/classrange__queries_1_1per_seg_tree" ],
|
||||
[ "Node", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node" ],
|
||||
[ "main", "d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
|
||||
[ "test", "d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<map id="test" name="test">
|
||||
<area shape="rect" id="node1" title="Test implementations." alt="" coords="5,137,49,163"/>
|
||||
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="97,5,276,47"/>
|
||||
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="97,188,276,229"/>
|
||||
<area shape="rect" id="node6" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865" title="Getting the number of versions after updates so far which is equal to the size of the pointers vector..." alt="" coords="97,71,276,112"/>
|
||||
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="355,107,471,134"/>
|
||||
<area shape="rect" id="node8" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="97,253,276,295"/>
|
||||
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="324,195,503,236"/>
|
||||
<area shape="rect" id="node5" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="551,224,729,265"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
ec856ef8be7199a44c3ec6193965f4dc
|
||||
@@ -0,0 +1,239 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: test Pages: 1 -->
|
||||
<!--zoomable 225 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 551;
|
||||
var viewHeight = 225;
|
||||
var sectionId = 'dynsection-2';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>test</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-221 547,-221 547,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Test implementations.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-99 0,-118 33,-118 33,-99 0,-99"/>
|
||||
<text text-anchor="middle" x="16.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
|
||||
<polygon fill="white" stroke="black" points="69,-186.5 69,-216.5 203,-216.5 203,-186.5 69,-186.5"/>
|
||||
<text text-anchor="start" x="77" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-193.5" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.45,-118.39C30.35,-133.24 47.17,-161.27 69,-177.5 70.87,-178.89 72.83,-180.2 74.85,-181.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="73.6,-184.75 84.05,-186.47 76.95,-178.61 73.6,-184.75"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" target="_top" xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="white" stroke="black" points="69,-49.5 69,-79.5 203,-79.5 203,-49.5 69,-49.5"/>
|
||||
<text text-anchor="start" x="77" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33.35,-102.57C46.74,-97.55 66.66,-90.09 85.33,-83.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="86.8,-86.29 94.94,-79.5 84.35,-79.73 86.8,-86.29"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865" target="_top" xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
|
||||
<polygon fill="white" stroke="black" points="69,-137.5 69,-167.5 203,-167.5 203,-137.5 69,-137.5"/>
|
||||
<text text-anchor="start" x="77" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node1->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33.35,-114.43C46.74,-119.45 66.66,-126.91 85.33,-133.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="84.35,-137.27 94.94,-137.5 86.8,-130.71 84.35,-137.27"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="262.5,-121 262.5,-140 349.5,-140 349.5,-121 262.5,-121"/>
|
||||
<text text-anchor="middle" x="306" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node7 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node1->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33.37,-109.71C74.38,-112.85 185.33,-121.34 252.06,-126.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="252.14,-129.97 262.38,-127.24 252.67,-122.99 252.14,-129.97"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="white" stroke="black" points="69,-0.5 69,-30.5 203,-30.5 203,-0.5 69,-0.5"/>
|
||||
<text text-anchor="start" x="77" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node8 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node1->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.45,-98.61C30.35,-83.76 47.17,-55.73 69,-39.5 70.87,-38.11 72.83,-36.8 74.85,-35.55"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="76.95,-38.39 84.05,-30.53 73.6,-32.25 76.95,-38.39"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="239,-44.5 239,-74.5 373,-74.5 373,-44.5 239,-44.5"/>
|
||||
<text text-anchor="start" x="247" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="306" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M203.4,-62.52C211.68,-62.28 220.2,-62.02 228.62,-61.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="228.92,-65.27 238.81,-61.47 228.71,-58.27 228.92,-65.27"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="409,-22.5 409,-52.5 543,-52.5 543,-22.5 409,-22.5"/>
|
||||
<text text-anchor="start" x="417" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="476" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M373.4,-50.81C381.77,-49.71 390.39,-48.58 398.89,-47.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399.35,-50.94 408.81,-46.17 398.44,-44 399.35,-50.94"/>
|
||||
</g>
|
||||
<!-- Node6->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node6->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M203.4,-143.81C219.65,-141.68 236.82,-139.43 252.33,-137.4"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="252.79,-140.87 262.25,-136.1 251.88,-133.93 252.79,-140.87"/>
|
||||
</g>
|
||||
<!-- Node8->Node4 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node8->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M194.35,-30.52C208.33,-34.18 223.4,-38.13 237.8,-41.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="237.07,-45.33 247.63,-44.47 238.84,-38.55 237.07,-45.33"/>
|
||||
</g>
|
||||
<!-- Node8->Node5 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node8->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M203.37,-19.82C259.42,-23.47 339.69,-28.69 398.44,-32.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="398.57,-36.03 408.78,-33.19 399.03,-29.05 398.57,-36.03"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="persistent__seg__tree__lazy__prop_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: test Pages: 1 -->
|
||||
<svg width="551pt" height="225pt"
|
||||
viewBox="0.00 0.00 551.00 225.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 221)">
|
||||
<title>test</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-221 547,-221 547,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Test implementations.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-99 0,-118 33,-118 33,-99 0,-99"/>
|
||||
<text text-anchor="middle" x="16.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
|
||||
<polygon fill="white" stroke="black" points="69,-186.5 69,-216.5 203,-216.5 203,-186.5 69,-186.5"/>
|
||||
<text text-anchor="start" x="77" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-193.5" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.45,-118.39C30.35,-133.24 47.17,-161.27 69,-177.5 70.87,-178.89 72.83,-180.2 74.85,-181.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="73.6,-184.75 84.05,-186.47 76.95,-178.61 73.6,-184.75"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" target="_top" xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="white" stroke="black" points="69,-49.5 69,-79.5 203,-79.5 203,-49.5 69,-49.5"/>
|
||||
<text text-anchor="start" x="77" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33.35,-102.57C46.74,-97.55 66.66,-90.09 85.33,-83.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="86.8,-86.29 94.94,-79.5 84.35,-79.73 86.8,-86.29"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865" target="_top" xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
|
||||
<polygon fill="white" stroke="black" points="69,-137.5 69,-167.5 203,-167.5 203,-137.5 69,-137.5"/>
|
||||
<text text-anchor="start" x="77" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node1->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33.35,-114.43C46.74,-119.45 66.66,-126.91 85.33,-133.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="84.35,-137.27 94.94,-137.5 86.8,-130.71 84.35,-137.27"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="262.5,-121 262.5,-140 349.5,-140 349.5,-121 262.5,-121"/>
|
||||
<text text-anchor="middle" x="306" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node7 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node1->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33.37,-109.71C74.38,-112.85 185.33,-121.34 252.06,-126.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="252.14,-129.97 262.38,-127.24 252.67,-122.99 252.14,-129.97"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="white" stroke="black" points="69,-0.5 69,-30.5 203,-30.5 203,-0.5 69,-0.5"/>
|
||||
<text text-anchor="start" x="77" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="136" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node8 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node1->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.45,-98.61C30.35,-83.76 47.17,-55.73 69,-39.5 70.87,-38.11 72.83,-36.8 74.85,-35.55"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="76.95,-38.39 84.05,-30.53 73.6,-32.25 76.95,-38.39"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="239,-44.5 239,-74.5 373,-74.5 373,-44.5 239,-44.5"/>
|
||||
<text text-anchor="start" x="247" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="306" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M203.4,-62.52C211.68,-62.28 220.2,-62.02 228.62,-61.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="228.92,-65.27 238.81,-61.47 228.71,-58.27 228.92,-65.27"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="409,-22.5 409,-52.5 543,-52.5 543,-22.5 409,-22.5"/>
|
||||
<text text-anchor="start" x="417" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="476" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M373.4,-50.81C381.77,-49.71 390.39,-48.58 398.89,-47.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399.35,-50.94 408.81,-46.17 398.44,-44 399.35,-50.94"/>
|
||||
</g>
|
||||
<!-- Node6->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node6->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M203.4,-143.81C219.65,-141.68 236.82,-139.43 252.33,-137.4"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="252.79,-140.87 262.25,-136.1 251.88,-133.93 252.79,-140.87"/>
|
||||
</g>
|
||||
<!-- Node8->Node4 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node8->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M194.35,-30.52C208.33,-34.18 223.4,-38.13 237.8,-41.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="237.07,-45.33 247.63,-44.47 238.84,-38.55 237.07,-45.33"/>
|
||||
</g>
|
||||
<!-- Node8->Node5 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node8->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M203.37,-19.82C259.42,-23.47 339.69,-28.69 398.44,-32.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="398.57,-36.03 408.78,-33.19 399.03,-29.05 398.57,-36.03"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.4 KiB |
@@ -0,0 +1,11 @@
|
||||
<map id="main" name="main">
|
||||
<area shape="rect" id="node1" title="Main function." alt="" coords="5,137,56,163"/>
|
||||
<area shape="rect" id="node2" href="$d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" title="Test implementations." alt="" coords="104,137,148,163"/>
|
||||
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="196,5,375,47"/>
|
||||
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="196,188,375,229"/>
|
||||
<area shape="rect" id="node7" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865" title="Getting the number of versions after updates so far which is equal to the size of the pointers vector..." alt="" coords="196,71,375,112"/>
|
||||
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="454,107,570,134"/>
|
||||
<area shape="rect" id="node9" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="196,253,375,295"/>
|
||||
<area shape="rect" id="node5" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="423,195,601,236"/>
|
||||
<area shape="rect" id="node6" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="649,224,828,265"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
6300b967ba7d550335a604dc2b2d8664
|
||||
@@ -0,0 +1,254 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<!--zoomable 225 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 625;
|
||||
var viewHeight = 225;
|
||||
var sectionId = 'dynsection-1';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-221 621,-221 621,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Main function.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-99 0,-118 38,-118 38,-99 0,-99"/>
|
||||
<text text-anchor="middle" x="19" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" target="_top" xlink:title="Test implementations.">
|
||||
<polygon fill="white" stroke="black" points="74,-99 74,-118 107,-118 107,-99 74,-99"/>
|
||||
<text text-anchor="middle" x="90.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.26,-108.5C46.07,-108.5 55.31,-108.5 63.79,-108.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.95,-112 73.95,-108.5 63.95,-105 63.95,-112"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
|
||||
<polygon fill="white" stroke="black" points="143,-186.5 143,-216.5 277,-216.5 277,-186.5 143,-186.5"/>
|
||||
<text text-anchor="start" x="151" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-193.5" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M96.45,-118.39C104.35,-133.24 121.17,-161.27 143,-177.5 144.87,-178.89 146.83,-180.2 148.85,-181.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="147.6,-184.75 158.05,-186.47 150.95,-178.61 147.6,-184.75"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" target="_top" xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="white" stroke="black" points="143,-49.5 143,-79.5 277,-79.5 277,-49.5 143,-49.5"/>
|
||||
<text text-anchor="start" x="151" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node2->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.35,-102.57C120.74,-97.55 140.66,-90.09 159.33,-83.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="160.8,-86.29 168.94,-79.5 158.35,-79.73 160.8,-86.29"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865" target="_top" xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
|
||||
<polygon fill="white" stroke="black" points="143,-137.5 143,-167.5 277,-167.5 277,-137.5 143,-137.5"/>
|
||||
<text text-anchor="start" x="151" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node2->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.35,-114.43C120.74,-119.45 140.66,-126.91 159.33,-133.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="158.35,-137.27 168.94,-137.5 160.8,-130.71 158.35,-137.27"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="336.5,-121 336.5,-140 423.5,-140 423.5,-121 336.5,-121"/>
|
||||
<text text-anchor="middle" x="380" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node8 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node2->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.37,-109.71C148.38,-112.85 259.33,-121.34 326.06,-126.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="326.14,-129.97 336.38,-127.24 326.67,-122.99 326.14,-129.97"/>
|
||||
</g>
|
||||
<!-- Node9 -->
|
||||
<g id="node9" class="node">
|
||||
<title>Node9</title>
|
||||
<g id="a_node9"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="white" stroke="black" points="143,-0.5 143,-30.5 277,-30.5 277,-0.5 143,-0.5"/>
|
||||
<text text-anchor="start" x="151" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node9 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node2->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M96.45,-98.61C104.35,-83.76 121.17,-55.73 143,-39.5 144.87,-38.11 146.83,-36.8 148.85,-35.55"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="150.95,-38.39 158.05,-30.53 147.6,-32.25 150.95,-38.39"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="313,-44.5 313,-74.5 447,-74.5 447,-44.5 313,-44.5"/>
|
||||
<text text-anchor="start" x="321" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="380" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M277.4,-62.52C285.68,-62.28 294.2,-62.02 302.62,-61.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="302.92,-65.27 312.81,-61.47 302.71,-58.27 302.92,-65.27"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="483,-22.5 483,-52.5 617,-52.5 617,-22.5 483,-22.5"/>
|
||||
<text text-anchor="start" x="491" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="550" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M447.4,-50.81C455.77,-49.71 464.39,-48.58 472.89,-47.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="473.35,-50.94 482.81,-46.17 472.44,-44 473.35,-50.94"/>
|
||||
</g>
|
||||
<!-- Node7->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node7->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M277.4,-143.81C293.65,-141.68 310.82,-139.43 326.33,-137.4"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="326.79,-140.87 336.25,-136.1 325.88,-133.93 326.79,-140.87"/>
|
||||
</g>
|
||||
<!-- Node9->Node5 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node9->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M268.35,-30.52C282.33,-34.18 297.4,-38.13 311.8,-41.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="311.07,-45.33 321.63,-44.47 312.84,-38.55 311.07,-45.33"/>
|
||||
</g>
|
||||
<!-- Node9->Node6 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node9->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M277.37,-19.82C333.42,-23.47 413.69,-28.69 472.44,-32.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="472.57,-36.03 482.78,-33.19 473.03,-29.05 472.57,-36.03"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="persistent__seg__tree__lazy__prop_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,166 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="625pt" height="225pt"
|
||||
viewBox="0.00 0.00 625.00 225.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 221)">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-221 621,-221 621,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Main function.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-99 0,-118 38,-118 38,-99 0,-99"/>
|
||||
<text text-anchor="middle" x="19" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" target="_top" xlink:title="Test implementations.">
|
||||
<polygon fill="white" stroke="black" points="74,-99 74,-118 107,-118 107,-99 74,-99"/>
|
||||
<text text-anchor="middle" x="90.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.26,-108.5C46.07,-108.5 55.31,-108.5 63.79,-108.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.95,-112 73.95,-108.5 63.95,-105 63.95,-112"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767" target="_top" xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
|
||||
<polygon fill="white" stroke="black" points="143,-186.5 143,-216.5 277,-216.5 277,-186.5 143,-186.5"/>
|
||||
<text text-anchor="start" x="151" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-193.5" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M96.45,-118.39C104.35,-133.24 121.17,-161.27 143,-177.5 144.87,-178.89 146.83,-180.2 148.85,-181.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="147.6,-184.75 158.05,-186.47 150.95,-178.61 147.6,-184.75"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" target="_top" xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="white" stroke="black" points="143,-49.5 143,-79.5 277,-79.5 277,-49.5 143,-49.5"/>
|
||||
<text text-anchor="start" x="151" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node2->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.35,-102.57C120.74,-97.55 140.66,-90.09 159.33,-83.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="160.8,-86.29 168.94,-79.5 158.35,-79.73 160.8,-86.29"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865" target="_top" xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
|
||||
<polygon fill="white" stroke="black" points="143,-137.5 143,-167.5 277,-167.5 277,-137.5 143,-137.5"/>
|
||||
<text text-anchor="start" x="151" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node2->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.35,-114.43C120.74,-119.45 140.66,-126.91 159.33,-133.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="158.35,-137.27 168.94,-137.5 160.8,-130.71 158.35,-137.27"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="336.5,-121 336.5,-140 423.5,-140 423.5,-121 336.5,-121"/>
|
||||
<text text-anchor="middle" x="380" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node8 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node2->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.37,-109.71C148.38,-112.85 259.33,-121.34 326.06,-126.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="326.14,-129.97 336.38,-127.24 326.67,-122.99 326.14,-129.97"/>
|
||||
</g>
|
||||
<!-- Node9 -->
|
||||
<g id="node9" class="node">
|
||||
<title>Node9</title>
|
||||
<g id="a_node9"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="white" stroke="black" points="143,-0.5 143,-30.5 277,-30.5 277,-0.5 143,-0.5"/>
|
||||
<text text-anchor="start" x="151" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="210" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node9 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node2->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M96.45,-98.61C104.35,-83.76 121.17,-55.73 143,-39.5 144.87,-38.11 146.83,-36.8 148.85,-35.55"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="150.95,-38.39 158.05,-30.53 147.6,-32.25 150.95,-38.39"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="313,-44.5 313,-74.5 447,-74.5 447,-44.5 313,-44.5"/>
|
||||
<text text-anchor="start" x="321" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="380" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M277.4,-62.52C285.68,-62.28 294.2,-62.02 302.62,-61.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="302.92,-65.27 312.81,-61.47 302.71,-58.27 302.92,-65.27"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="483,-22.5 483,-52.5 617,-52.5 617,-22.5 483,-22.5"/>
|
||||
<text text-anchor="start" x="491" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="550" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M447.4,-50.81C455.77,-49.71 464.39,-48.58 472.89,-47.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="473.35,-50.94 482.81,-46.17 472.44,-44 473.35,-50.94"/>
|
||||
</g>
|
||||
<!-- Node7->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node7->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M277.4,-143.81C293.65,-141.68 310.82,-139.43 326.33,-137.4"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="326.79,-140.87 336.25,-136.1 325.88,-133.93 326.79,-140.87"/>
|
||||
</g>
|
||||
<!-- Node9->Node5 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node9->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M268.35,-30.52C282.33,-34.18 297.4,-38.13 311.8,-41.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="311.07,-45.33 321.63,-44.47 312.84,-38.55 311.07,-45.33"/>
|
||||
</g>
|
||||
<!-- Node9->Node6 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node9->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M277.37,-19.82C333.42,-23.47 413.69,-28.69 472.44,-32.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="472.57,-36.03 482.78,-33.19 473.03,-29.05 472.57,-36.03"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.2 KiB |
137
d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: range_queries::perSegTree::Node 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>
|
||||
<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>
|
||||
<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>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Algorithms_in_C++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license-end */
|
||||
</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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="../../d5/dca/classrange__queries_1_1per_seg_tree_1_1_node-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">range_queries::perSegTree::Node Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for range_queries::perSegTree::Node:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d61/classrange__queries_1_1per_seg_tree_1_1_node__coll__graph.svg" width="190" height="186"><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>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
||||
Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:ab3e7bf5a91911c17907b30b250108013"><td class="memItemLeft" align="right" valign="top"><a id="ab3e7bf5a91911c17907b30b250108013"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > </td><td class="memItemRight" valign="bottom"><b>left</b> = nullptr</td></tr>
|
||||
<tr class="separator:ab3e7bf5a91911c17907b30b250108013"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9adb4639a0797e94a3e556b6b902c088"><td class="memItemLeft" align="right" valign="top"><a id="a9adb4639a0797e94a3e556b6b902c088"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088">right</a> = nullptr</td></tr>
|
||||
<tr class="memdesc:a9adb4639a0797e94a3e556b6b902c088"><td class="mdescLeft"> </td><td class="mdescRight">pointer to the left node <br /></td></tr>
|
||||
<tr class="separator:a9adb4639a0797e94a3e556b6b902c088"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acc044f787c90b815773726d7fdfdaccf"><td class="memItemLeft" align="right" valign="top"><a id="acc044f787c90b815773726d7fdfdaccf"></a>
|
||||
int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf">val</a> = 0</td></tr>
|
||||
<tr class="memdesc:acc044f787c90b815773726d7fdfdaccf"><td class="mdescLeft"> </td><td class="mdescRight">pointer to the right node <br /></td></tr>
|
||||
<tr class="separator:acc044f787c90b815773726d7fdfdaccf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adeb7de2a7341362c3c6edf4d48476656"><td class="memItemLeft" align="right" valign="top"><a id="adeb7de2a7341362c3c6edf4d48476656"></a>
|
||||
int64_t </td><td class="memItemRight" valign="bottom"><b>prop</b> = 0</td></tr>
|
||||
<tr class="separator:adeb7de2a7341362c3c6edf4d48476656"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>range_queries/<a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.cpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- 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"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</a></li><li class="navelem"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</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.1 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
7
d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.js
Normal file
@@ -0,0 +1,7 @@
|
||||
var classrange__queries_1_1per_seg_tree_1_1_node =
|
||||
[
|
||||
[ "left", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#ab3e7bf5a91911c17907b30b250108013", null ],
|
||||
[ "prop", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#adeb7de2a7341362c3c6edf4d48476656", null ],
|
||||
[ "right", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088", null ],
|
||||
[ "val", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf", null ]
|
||||
];
|
||||
@@ -365,6 +365,7 @@ Range Queries</h1>
|
||||
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/fenwick_tree.cpp">Fenwick Tree</a></li>
|
||||
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/heavy_light_decomposition.cpp">Heavy Light Decomposition</a></li>
|
||||
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/mo.cpp">Mo</a></li>
|
||||
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/persistent_seg_tree_lazy_prop.cpp">Persistent Seg Tree Lazy Prop</a></li>
|
||||
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/segtree.cpp">Segtree</a></li>
|
||||
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/sparse_table.cpp">Sparse Table</a></li>
|
||||
</ul>
|
||||
|
||||
113
d5/dca/classrange__queries_1_1per_seg_tree_1_1_node-members.html
Normal file
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: Member List</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>
|
||||
<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>
|
||||
<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>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Algorithms_in_C++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license-end */
|
||||
</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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">range_queries::perSegTree::Node Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>left</b> (defined in <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a>)</td><td class="entry"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>prop</b> (defined in <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a>)</td><td class="entry"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088">right</a></td><td class="entry"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf">val</a></td><td class="entry"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">range_queries::perSegTree::Node</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<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.1 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<map id="range_queries::perSegTree" name="range_queries::perSegTree">
|
||||
<area shape="rect" id="node1" title="Range query here is range sum, but the code can be modified to make different queries like range max ..." alt="" coords="552,53,731,80"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="265,5,477,61"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/shared_ptr.html" title=" " alt="" coords="5,5,160,61"/>
|
||||
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="298,85,445,112"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/types/integer.html" title=" " alt="" coords="39,85,126,112"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
795dd1dc2068bb7278c65eea4a5d5a52
|
||||
178
d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg
Normal file
@@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree Pages: 1 -->
|
||||
<!--zoomable 88 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 552;
|
||||
var viewHeight = 88;
|
||||
var sectionId = 'dynsection-0';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>range_queries::perSegTree</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-84 548,-84 548,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Range query here is range sum, but the code can be modified to make different queries like range max ...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="410,-24.5 410,-43.5 544,-43.5 544,-24.5 410,-24.5"/>
|
||||
<text text-anchor="middle" x="477" y="-31.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="195,-38.5 195,-79.5 354,-79.5 354,-38.5 195,-38.5"/>
|
||||
<text text-anchor="start" x="203" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector< std::shared</text>
|
||||
<text text-anchor="start" x="203" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ptr< range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="274.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Node > ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node2->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M364.19,-47.94C379.54,-46.03 395.25,-44.07 409.87,-42.25"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="363.66,-44.48 354.17,-49.19 364.52,-51.43 363.66,-44.48"/>
|
||||
<text text-anchor="middle" x="382" y="-49" font-family="Helvetica,sans-Serif" font-size="10.00"> ptrs</text>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-38.5 0,-79.5 116,-79.5 116,-38.5 0,-38.5"/>
|
||||
<text text-anchor="start" x="8" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr< range</text>
|
||||
<text text-anchor="start" x="8" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">_queries::perSegTree::</text>
|
||||
<text text-anchor="middle" x="58" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node3->Node2</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M126.3,-59C148,-59 172.25,-59 194.7,-59"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="126.2,-55.5 116.2,-59 126.2,-62.5 126.2,-55.5"/>
|
||||
<text text-anchor="middle" x="155.5" y="-62" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="219.5,-0.5 219.5,-19.5 329.5,-19.5 329.5,-0.5 219.5,-0.5"/>
|
||||
<text text-anchor="middle" x="274.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector< int64_t ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node4->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M340.12,-16.2C357.02,-17.95 375.2,-19.94 392,-22 398.14,-22.75 404.53,-23.58 410.91,-24.44"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="340.09,-12.68 329.78,-15.15 339.38,-19.64 340.09,-12.68"/>
|
||||
<text text-anchor="middle" x="382" y="-25" font-family="Helvetica,sans-Serif" font-size="10.00"> vec</text>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/types/integer.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="25.5,-0.5 25.5,-19.5 90.5,-19.5 90.5,-0.5 25.5,-0.5"/>
|
||||
<text text-anchor="middle" x="58" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::int64_t</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node4 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node5->Node4</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M100.66,-10C134.48,-10 182.43,-10 219.24,-10"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="100.65,-6.5 90.65,-10 100.65,-13.5 100.65,-6.5"/>
|
||||
<text text-anchor="middle" x="155.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="classrange__queries_1_1per_seg_tree__coll__graph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.9 KiB |
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree Pages: 1 -->
|
||||
<svg width="552pt" height="88pt"
|
||||
viewBox="0.00 0.00 552.00 88.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 84)">
|
||||
<title>range_queries::perSegTree</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-84 548,-84 548,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Range query here is range sum, but the code can be modified to make different queries like range max ...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="410,-24.5 410,-43.5 544,-43.5 544,-24.5 410,-24.5"/>
|
||||
<text text-anchor="middle" x="477" y="-31.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="195,-38.5 195,-79.5 354,-79.5 354,-38.5 195,-38.5"/>
|
||||
<text text-anchor="start" x="203" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector< std::shared</text>
|
||||
<text text-anchor="start" x="203" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ptr< range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="274.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Node > ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node2->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M364.19,-47.94C379.54,-46.03 395.25,-44.07 409.87,-42.25"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="363.66,-44.48 354.17,-49.19 364.52,-51.43 363.66,-44.48"/>
|
||||
<text text-anchor="middle" x="382" y="-49" font-family="Helvetica,sans-Serif" font-size="10.00"> ptrs</text>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-38.5 0,-79.5 116,-79.5 116,-38.5 0,-38.5"/>
|
||||
<text text-anchor="start" x="8" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr< range</text>
|
||||
<text text-anchor="start" x="8" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">_queries::perSegTree::</text>
|
||||
<text text-anchor="middle" x="58" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node3->Node2</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M126.3,-59C148,-59 172.25,-59 194.7,-59"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="126.2,-55.5 116.2,-59 126.2,-62.5 126.2,-55.5"/>
|
||||
<text text-anchor="middle" x="155.5" y="-62" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="219.5,-0.5 219.5,-19.5 329.5,-19.5 329.5,-0.5 219.5,-0.5"/>
|
||||
<text text-anchor="middle" x="274.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector< int64_t ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node4->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M340.12,-16.2C357.02,-17.95 375.2,-19.94 392,-22 398.14,-22.75 404.53,-23.58 410.91,-24.44"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="340.09,-12.68 329.78,-15.15 339.38,-19.64 340.09,-12.68"/>
|
||||
<text text-anchor="middle" x="382" y="-25" font-family="Helvetica,sans-Serif" font-size="10.00"> vec</text>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/types/integer.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="25.5,-0.5 25.5,-19.5 90.5,-19.5 90.5,-0.5 25.5,-0.5"/>
|
||||
<text text-anchor="middle" x="58" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::int64_t</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node4 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node5->Node4</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M100.66,-10C134.48,-10 182.43,-10 219.24,-10"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="100.65,-6.5 90.65,-10 100.65,-13.5 100.65,-6.5"/>
|
||||
<text text-anchor="middle" x="155.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
788
d8/d28/classrange__queries_1_1per_seg_tree.html
Normal file
@@ -0,0 +1,788 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: range_queries::perSegTree Class Reference</title>
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.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>
|
||||
<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>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Algorithms_in_C++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license-end */
|
||||
</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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_tree.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pri-methods">Private Member Functions</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="../../da/d66/classrange__queries_1_1per_seg_tree-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">range_queries::perSegTree Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Range query here is range sum, but the code can be modified to make different queries like range max or min.
|
||||
<a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for range_queries::perSegTree:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg" width="100%" height="388"><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 name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ac83bcabf5a8db8b0d8d156a4c1bcd4c3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">construct</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int64_t > &<a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>)</td></tr>
|
||||
<tr class="memdesc:ac83bcabf5a8db8b0d8d156a4c1bcd4c3"><td class="mdescLeft"> </td><td class="mdescRight">Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed in the pointers vector to have access to the original version if the segment tree is updated. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">More...</a><br /></td></tr>
|
||||
<tr class="separator:ac83bcabf5a8db8b0d8d156a4c1bcd4c3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af87494e6cf012d28c4f5b9d1c15f9c5d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d">update</a> (const uint32_t &l, const uint32_t &r, const int64_t &value)</td></tr>
|
||||
<tr class="memdesc:af87494e6cf012d28c4f5b9d1c15f9c5d"><td class="mdescLeft"> </td><td class="mdescRight">Doing range update by passing the left and right indexes of the range as well as the value to be added. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d">More...</a><br /></td></tr>
|
||||
<tr class="separator:af87494e6cf012d28c4f5b9d1c15f9c5d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad484002bcb701820d55f32ea5d525571"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571">query</a> (const uint32_t &l, const uint32_t &r, const uint32_t &version)</td></tr>
|
||||
<tr class="memdesc:ad484002bcb701820d55f32ea5d525571"><td class="mdescLeft"> </td><td class="mdescRight">Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l<=x<=r. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571">More...</a><br /></td></tr>
|
||||
<tr class="separator:ad484002bcb701820d55f32ea5d525571"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0fe4e431f3e09c274ecd7d2d58dcb865"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">size</a> ()</td></tr>
|
||||
<tr class="memdesc:a0fe4e431f3e09c274ecd7d2d58dcb865"><td class="mdescLeft"> </td><td class="mdescRight">Getting the number of versions after updates so far which is equal to the size of the pointers vector. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">More...</a><br /></td></tr>
|
||||
<tr class="separator:a0fe4e431f3e09c274ecd7d2d58dcb865"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:acacb937f95a078a236a4a58f9630a045"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const &curr)</td></tr>
|
||||
<tr class="memdesc:acacb937f95a078a236a4a58f9630a045"><td class="mdescLeft"> </td><td class="mdescRight">Creating a new node with the same values of curr node. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">More...</a><br /></td></tr>
|
||||
<tr class="separator:acacb937f95a078a236a4a58f9630a045"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ace7f57935b3bb9446f11c239fd89ae79"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a> (const uint32_t &i, const uint32_t &j, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const &curr)</td></tr>
|
||||
<tr class="memdesc:ace7f57935b3bb9446f11c239fd89ae79"><td class="mdescLeft"> </td><td class="mdescRight">If there is some value to be propagated to the passed node, value is added to the node and the children of the node, if exist, are copied and the propagated value is also added to them. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">More...</a><br /></td></tr>
|
||||
<tr class="separator:ace7f57935b3bb9446f11c239fd89ae79"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a67d8371bc998c67d53e8f64db4f52767"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a> (const uint32_t &i, const uint32_t &j)</td></tr>
|
||||
<tr class="memdesc:a67d8371bc998c67d53e8f64db4f52767"><td class="mdescLeft"> </td><td class="mdescRight">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum of the given range, set its pointers to the children, and set its value to the sum of the children's values. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">More...</a><br /></td></tr>
|
||||
<tr class="separator:a67d8371bc998c67d53e8f64db4f52767"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af16c0c87b29119f066041d6e71ab50e0"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a> (const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const &curr)</td></tr>
|
||||
<tr class="memdesc:af16c0c87b29119f066041d6e71ab50e0"><td class="mdescLeft"> </td><td class="mdescRight">Doing range update, checking at every node if it has some value to be propagated. All nodes affected by the update are copied and propagation value is added to the leaf of them. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">More...</a><br /></td></tr>
|
||||
<tr class="separator:af16c0c87b29119f066041d6e71ab50e0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae8ae4b1835e5e8aec32f68c5059ed4d4"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a> (const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const &curr)</td></tr>
|
||||
<tr class="memdesc:ae8ae4b1835e5e8aec32f68c5059ed4d4"><td class="mdescLeft"> </td><td class="mdescRight">Querying the range from index l to index r, checking at every node if it has some value to be propagated. Current node's value is returned if its range is completely inside the wanted range, else 0 is returned. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ae8ae4b1835e5e8aec32f68c5059ed4d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
||||
Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:a6f5b36111f90807a9fdf6bbca04f535e"><td class="memItemLeft" align="right" valign="top"><a id="a6f5b36111f90807a9fdf6bbca04f535e"></a>
|
||||
uint32_t </td><td class="memItemRight" valign="bottom"><b>n</b> = 0</td></tr>
|
||||
<tr class="separator:a6f5b36111f90807a9fdf6bbca04f535e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="memItemLeft" align="right" valign="top"><a id="a1eac9cf0613dfc8e2b0195009dd5c9d5"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a> {}</td></tr>
|
||||
<tr class="memdesc:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="mdescLeft"> </td><td class="mdescRight">number of elements/leaf nodes in the segment tree <br /></td></tr>
|
||||
<tr class="separator:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8ff495d2f389b4aaa54449c26c6078f3"><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>< int64_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a> {}</td></tr>
|
||||
<tr class="separator:a8ff495d2f389b4aaa54449c26c6078f3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Range query here is range sum, but the code can be modified to make different queries like range max or min. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="ac83bcabf5a8db8b0d8d156a4c1bcd4c3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">◆ </a></span>construct() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void range_queries::perSegTree::construct </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>< int64_t > & </td>
|
||||
<td class="paramname"><em>vec</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed in the pointers vector to have access to the original version if the segment tree is updated. </p>
|
||||
<p>public methods that can be used directly from outside the class. They call the private functions that do all the work </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">vec</td><td>vector whose values will be used to build the segment tree </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">if</span> (<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>()) {</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  n = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  this->vec = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>;</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">auto</span> root = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(0, n - 1);</div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(root);</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a1eac9cf0613dfc8e2b0195009dd5c9d5"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">range_queries::perSegTree::ptrs</a></div><div class="ttdeci">std::vector< std::shared_ptr< Node > > ptrs</div><div class="ttdoc">number of elements/leaf nodes in the segment tree</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:54</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a67d8371bc998c67d53e8f64db4f52767"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">range_queries::perSegTree::construct</a></div><div class="ttdeci">std::shared_ptr< Node > construct(const uint32_t &i, const uint32_t &j)</div><div class="ttdoc">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:106</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a8ff495d2f389b4aaa54449c26c6078f3"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">range_queries::perSegTree::vec</a></div><div class="ttdeci">std::vector< int64_t > vec</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:57</div></div>
|
||||
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
|
||||
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg" width="366" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a67d8371bc998c67d53e8f64db4f52767"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a67d8371bc998c67d53e8f64db4f52767">◆ </a></span>construct() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a><<a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a>> range_queries::perSegTree::construct </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>i</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>j</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum of the given range, set its pointers to the children, and set its value to the sum of the children's values. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">i</td><td>the left index of the range that the created node holds its sum </td></tr>
|
||||
<tr><td class="paramname">j</td><td>the right index of the range that the created node holds its sum </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>pointer to the newly created node </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">auto</span> newNode = std::make_shared<Node>(<a class="code" href="../../db/d8b/struct_node.html">Node</a>());</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (i == j) {</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  newNode->val = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>[i];</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  uint32_t mid = i + (j - i) / 2;</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">auto</span> leftt = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(i, mid);</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">auto</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a> = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(mid + 1, j);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  newNode->val = leftt->val + <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>->val;</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  newNode->left = leftt;</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  newNode->right = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>;</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> newNode;</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||
<div class="ttc" id="aleft_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::right</a></div><div class="ttdeci">T right(T... args)</div></div>
|
||||
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:14</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ace7f57935b3bb9446f11c239fd89ae79"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ace7f57935b3bb9446f11c239fd89ae79">◆ </a></span>lazy()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void range_queries::perSegTree::lazy </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>i</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>j</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const & </td>
|
||||
<td class="paramname"><em>curr</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>If there is some value to be propagated to the passed node, value is added to the node and the children of the node, if exist, are copied and the propagated value is also added to them. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">i</td><td>the left index of the range that the passed node holds its sum </td></tr>
|
||||
<tr><td class="paramname">j</td><td>the right index of the range that the passed node holds its sum </td></tr>
|
||||
<tr><td class="paramname">curr</td><td>pointer to the node to be propagated </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (!curr->prop) {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  curr->val += (j - i + 1) * curr->prop;</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  if (i != j) {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  curr->left = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(curr->left);</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  curr->right = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(curr->right);</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  curr->left->prop += curr->prop;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  curr->right->prop += curr->prop;</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  curr->prop = 0;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_acacb937f95a078a236a4a58f9630a045"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">range_queries::perSegTree::newKid</a></div><div class="ttdeci">std::shared_ptr< Node > newKid(std::shared_ptr< Node > const &curr)</div><div class="ttdoc">Creating a new node with the same values of curr node.</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:65</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ace7f57935b3bb9446f11c239fd89ae79_cgraph.svg" width="416" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="acacb937f95a078a236a4a58f9630a045"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#acacb937f95a078a236a4a58f9630a045">◆ </a></span>newKid()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a><<a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a>> range_queries::perSegTree::newKid </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const & </td>
|
||||
<td class="paramname"><em>curr</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Creating a new node with the same values of curr node. </p>
|
||||
<p>values of the leaf nodes that the segment tree will be constructed with </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">curr</td><td>node that would be copied </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>the new node </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">auto</span> newNode = std::make_shared<Node>(<a class="code" href="../../db/d8b/struct_node.html">Node</a>());</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  newNode->left = curr->left;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  newNode->right = curr->right;</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  newNode->prop = curr->prop;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  newNode->val = curr->val;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">return</span> newNode;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae8ae4b1835e5e8aec32f68c5059ed4d4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae8ae4b1835e5e8aec32f68c5059ed4d4">◆ </a></span>query() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int64_t range_queries::perSegTree::query </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>i</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>j</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>l</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>r</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const & </td>
|
||||
<td class="paramname"><em>curr</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Querying the range from index l to index r, checking at every node if it has some value to be propagated. Current node's value is returned if its range is completely inside the wanted range, else 0 is returned. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">i</td><td>the left index of the range that the passed node holds its sum </td></tr>
|
||||
<tr><td class="paramname">j</td><td>the right index of the range that the passed node holds its sum </td></tr>
|
||||
<tr><td class="paramname">l</td><td>the left index of the range whose sum should be returned as a result </td></tr>
|
||||
<tr><td class="paramname">r</td><td>the right index of the range whose sum should be returned as a result </td></tr>
|
||||
<tr><td class="paramname">curr</td><td>pointer to the current node, which has value = the sum of elements whose index x satisfies i<=x<=j </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>sum of elements whose index x satisfies l<=x<=r </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, curr);</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">if</span> (j < l || r < i) {</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">if</span> (i >= l && j <= r) {</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> curr->val;</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  uint32_t mid = i + (j - i) / 2;</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">return</span> <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(i, mid, l, r, curr->left) +</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(mid + 1, j, l, r, curr->right);</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ace7f57935b3bb9446f11c239fd89ae79"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">range_queries::perSegTree::lazy</a></div><div class="ttdeci">void lazy(const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)</div><div class="ttdoc">If there is some value to be propagated to the passed node, value is added to the node and the childr...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:83</div></div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ae8ae4b1835e5e8aec32f68c5059ed4d4"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">range_queries::perSegTree::query</a></div><div class="ttdeci">int64_t query(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)</div><div class="ttdoc">Querying the range from index l to index r, checking at every node if it has some value to be propaga...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:171</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg" width="643" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ad484002bcb701820d55f32ea5d525571"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad484002bcb701820d55f32ea5d525571">◆ </a></span>query() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int64_t range_queries::perSegTree::query </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>l</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>r</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>version</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l<=x<=r. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">l</td><td>the left index of the range whose sum should be returned as a result </td></tr>
|
||||
<tr><td class="paramname">r</td><td>the right index of the range whose sum should be returned as a result </td></tr>
|
||||
<tr><td class="paramname">version</td><td>the version to query on. If equals to 0, the original segment tree will be queried </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>sum of elements whose index x satisfies l<=x<=r </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(0, n - 1, l, r, <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>[version]);</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0fe4e431f3e09c274ecd7d2d58dcb865"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0fe4e431f3e09c274ecd7d2d58dcb865">◆ </a></span>size()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint32_t range_queries::perSegTree::size </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Getting the number of versions after updates so far which is equal to the size of the pointers vector. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>the number of versions </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  {</div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg" width="354" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af16c0c87b29119f066041d6e71ab50e0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af16c0c87b29119f066041d6e71ab50e0">◆ </a></span>update() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a><<a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a>> range_queries::perSegTree::update </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>i</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>j</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>l</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>r</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const int64_t & </td>
|
||||
<td class="paramname"><em>value</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> > const & </td>
|
||||
<td class="paramname"><em>curr</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Doing range update, checking at every node if it has some value to be propagated. All nodes affected by the update are copied and propagation value is added to the leaf of them. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">i</td><td>the left index of the range that the passed node holds its sum </td></tr>
|
||||
<tr><td class="paramname">j</td><td>the right index of the range that the passed node holds its sum </td></tr>
|
||||
<tr><td class="paramname">l</td><td>the left index of the range to be updated </td></tr>
|
||||
<tr><td class="paramname">r</td><td>the right index of the range to be updated </td></tr>
|
||||
<tr><td class="paramname">value</td><td>the value to be added to every element whose index x satisfies l<=x<=r </td></tr>
|
||||
<tr><td class="paramname">curr</td><td>pointer to the current node, which has value = the sum of elements whose index x satisfies i<=x<=j </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>pointer to the current newly created node </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, curr);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (i >= l && j <= r) {</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Node></a> newNode = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(curr);</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  newNode->prop += value;</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, newNode);</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> newNode;</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">if</span> (i > r || j < l) {</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> curr;</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">auto</span> newNode = std::make_shared<Node>(<a class="code" href="../../db/d8b/struct_node.html">Node</a>());</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  uint32_t mid = i + (j - i) / 2;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  newNode->left = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(i, mid, l, r, value, curr->left);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  newNode->right = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(mid + 1, j, l, r, value, curr->right);</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  newNode->val = newNode->left->val + newNode->right->val;</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> newNode;</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div>
|
||||
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_af16c0c87b29119f066041d6e71ab50e0"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">range_queries::perSegTree::update</a></div><div class="ttdeci">std::shared_ptr< Node > update(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)</div><div class="ttdoc">Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:135</div></div>
|
||||
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr< Node ></a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af16c0c87b29119f066041d6e71ab50e0_cgraph.svg" width="643" height="82"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af87494e6cf012d28c4f5b9d1c15f9c5d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af87494e6cf012d28c4f5b9d1c15f9c5d">◆ </a></span>update() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void range_queries::perSegTree::update </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>l</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t & </td>
|
||||
<td class="paramname"><em>r</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const int64_t & </td>
|
||||
<td class="paramname"><em>value</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Doing range update by passing the left and right indexes of the range as well as the value to be added. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">l</td><td>the left index of the range to be updated </td></tr>
|
||||
<tr><td class="paramname">r</td><td>the right index of the range to be updated </td></tr>
|
||||
<tr><td class="paramname">value</td><td>the value to be added to every element whose index x satisfies l<=x<=r </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  0, n - 1, l, r, value,</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>[<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() -</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  1])); <span class="comment">// saving the root pointer to the new segment tree</span></div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg" width="100%" height="416"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Data Documentation</h2>
|
||||
<a id="a8ff495d2f389b4aaa54449c26c6078f3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8ff495d2f389b4aaa54449c26c6078f3">◆ </a></span>vec</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><int64_t> range_queries::perSegTree::vec {}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>ptrs[i] holds a root pointer to the segment tree after the ith update. ptrs[0] holds a root pointer to the segment tree before any updates </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>range_queries/<a class="el" href="../../d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.cpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- 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"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</a></li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
16
d8/d28/classrange__queries_1_1per_seg_tree.js
Normal file
@@ -0,0 +1,16 @@
|
||||
var classrange__queries_1_1per_seg_tree =
|
||||
[
|
||||
[ "Node", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node" ],
|
||||
[ "construct", "d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3", null ],
|
||||
[ "construct", "d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767", null ],
|
||||
[ "lazy", "d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79", null ],
|
||||
[ "newKid", "d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045", null ],
|
||||
[ "query", "d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4", null ],
|
||||
[ "query", "d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571", null ],
|
||||
[ "size", "d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865", null ],
|
||||
[ "update", "d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0", null ],
|
||||
[ "update", "d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d", null ],
|
||||
[ "n", "d8/d28/classrange__queries_1_1per_seg_tree.html#a6f5b36111f90807a9fdf6bbca04f535e", null ],
|
||||
[ "ptrs", "d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5", null ],
|
||||
[ "vec", "d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3", null ]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
<map id="range_queries::perSegTree::size" name="range_queries::perSegTree::size">
|
||||
<area shape="rect" id="node1" title="Getting the number of versions after updates so far which is equal to the size of the pointers vector..." alt="" coords="5,5,184,47"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="232,13,348,39"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
64b7d840ebf115cd1c86482ef9919fbb
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::size Pages: 1 -->
|
||||
<svg width="265pt" height="39pt"
|
||||
viewBox="0.00 0.00 265.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
|
||||
<title>range_queries::perSegTree::size</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 261,-35 261,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="170,-6 170,-25 257,-25 257,-6 170,-6"/>
|
||||
<text text-anchor="middle" x="213.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.33,-15.5C142.78,-15.5 151.34,-15.5 159.54,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.7,-19 169.7,-15.5 159.7,-12 159.7,-19"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="range_queries::perSegTree::construct" name="range_queries::perSegTree::construct">
|
||||
<area shape="rect" id="node1" title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i..." alt="" coords="5,23,184,65"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/empty.html#" title=" " alt="" coords="232,5,360,32"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="238,56,354,83"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
f6af35e5643dc80c6e849b32fc8bca95
|
||||
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
|
||||
<svg width="274pt" height="66pt"
|
||||
viewBox="0.00 0.00 274.00 66.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 62)">
|
||||
<title>range_queries::perSegTree::construct</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 270,-62 270,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-14 0,-44 134,-44 134,-14 0,-14"/>
|
||||
<text text-anchor="start" x="8" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-21" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/empty.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="170,-38.5 170,-57.5 266,-57.5 266,-38.5 170,-38.5"/>
|
||||
<text text-anchor="middle" x="218" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::empty</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.22,-37.44C142.73,-38.53 151.39,-39.63 159.74,-40.7"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.38,-44.18 169.74,-41.97 160.26,-37.24 159.38,-44.18"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="174.5,-0.5 174.5,-19.5 261.5,-19.5 261.5,-0.5 174.5,-0.5"/>
|
||||
<text text-anchor="middle" x="218" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.22,-20.56C144.15,-19.29 154.28,-18 163.89,-16.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="164.61,-20.21 174.09,-15.47 163.72,-13.27 164.61,-20.21"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,4 @@
|
||||
<map id="range_queries::perSegTree::lazy" name="range_queries::perSegTree::lazy">
|
||||
<area shape="rect" id="node1" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="5,5,184,47"/>
|
||||
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="232,5,411,47"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
9221a56cc63db5e990cdb9212a1b91cf
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::lazy Pages: 1 -->
|
||||
<svg width="312pt" height="39pt"
|
||||
viewBox="0.00 0.00 312.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
|
||||
<title>range_queries::perSegTree::lazy</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 308,-35 308,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="170,-0.5 170,-30.5 304,-30.5 304,-0.5 170,-0.5"/>
|
||||
<text text-anchor="start" x="178" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-15.5C142.68,-15.5 151.2,-15.5 159.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.81,-19 169.81,-15.5 159.81,-12 159.81,-19"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,6 @@
|
||||
<map id="range_queries::perSegTree::query" name="range_queries::perSegTree::query">
|
||||
<area shape="rect" id="node1" title="Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l..." alt="" coords="5,5,184,47"/>
|
||||
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="232,5,411,47"/>
|
||||
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="459,5,637,47"/>
|
||||
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="685,5,864,47"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
41f88526f3297a3706e8df6ae36fdbca
|
||||
@@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
|
||||
<!--zoomable 39 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 652;
|
||||
var viewHeight = 39;
|
||||
var sectionId = 'dynsection-4';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>range_queries::perSegTree::query</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 648,-35 648,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" target="_top" xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="white" stroke="black" points="170,-0.5 170,-30.5 304,-30.5 304,-0.5 170,-0.5"/>
|
||||
<text text-anchor="start" x="178" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-15.5C142.68,-15.5 151.2,-15.5 159.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.81,-19 169.81,-15.5 159.81,-12 159.81,-19"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="340,-0.5 340,-30.5 474,-30.5 474,-0.5 340,-0.5"/>
|
||||
<text text-anchor="start" x="348" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="407" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.4,-15.5C312.68,-15.5 321.2,-15.5 329.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="329.81,-19 339.81,-15.5 329.81,-12 329.81,-19"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="510,-0.5 510,-30.5 644,-30.5 644,-0.5 510,-0.5"/>
|
||||
<text text-anchor="start" x="518" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="577" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M474.4,-15.5C482.68,-15.5 491.2,-15.5 499.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="499.81,-19 509.81,-15.5 499.81,-12 499.81,-19"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="classrange__queries_1_1per_seg_tree_ad484002bcb701820d55f32ea5d525571_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.0 KiB |
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
|
||||
<svg width="652pt" height="39pt"
|
||||
viewBox="0.00 0.00 652.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
|
||||
<title>range_queries::perSegTree::query</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 648,-35 648,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" target="_top" xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="white" stroke="black" points="170,-0.5 170,-30.5 304,-30.5 304,-0.5 170,-0.5"/>
|
||||
<text text-anchor="start" x="178" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-15.5C142.68,-15.5 151.2,-15.5 159.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.81,-19 169.81,-15.5 159.81,-12 159.81,-19"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="340,-0.5 340,-30.5 474,-30.5 474,-0.5 340,-0.5"/>
|
||||
<text text-anchor="start" x="348" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="407" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.4,-15.5C312.68,-15.5 321.2,-15.5 329.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="329.81,-19 339.81,-15.5 329.81,-12 329.81,-19"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="510,-0.5 510,-30.5 644,-30.5 644,-0.5 510,-0.5"/>
|
||||
<text text-anchor="start" x="518" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="577" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M474.4,-15.5C482.68,-15.5 491.2,-15.5 499.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="499.81,-19 509.81,-15.5 499.81,-12 499.81,-19"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="range_queries::perSegTree::query" name="range_queries::perSegTree::query">
|
||||
<area shape="rect" id="node1" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="5,5,184,47"/>
|
||||
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="232,5,411,47"/>
|
||||
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="459,5,637,47"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
c0bdb3aefa0e273418866ca9dc4da61b
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
|
||||
<svg width="482pt" height="39pt"
|
||||
viewBox="0.00 0.00 482.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
|
||||
<title>range_queries::perSegTree::query</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 478,-35 478,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Querying the range from index l to index r, checking at every node if it has some value to be propaga...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::query</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="170,-0.5 170,-30.5 304,-30.5 304,-0.5 170,-0.5"/>
|
||||
<text text-anchor="start" x="178" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-15.5C142.68,-15.5 151.2,-15.5 159.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.81,-19 169.81,-15.5 159.81,-12 159.81,-19"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="340,-0.5 340,-30.5 474,-30.5 474,-0.5 340,-0.5"/>
|
||||
<text text-anchor="start" x="348" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="407" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.4,-15.5C312.68,-15.5 321.2,-15.5 329.62,-15.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="329.81,-19 339.81,-15.5 329.81,-12 329.81,-19"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="range_queries::perSegTree::update" name="range_queries::perSegTree::update">
|
||||
<area shape="rect" id="node1" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="5,35,184,76"/>
|
||||
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="232,5,411,47"/>
|
||||
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="459,35,637,76"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
20f3cace9089d9f1ac5e9b4a630b426f
|
||||
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
|
||||
<svg width="482pt" height="61pt"
|
||||
viewBox="0.00 0.00 482.00 61.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 57)">
|
||||
<title>range_queries::perSegTree::update</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-57 478,-57 478,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="170,-22.5 170,-52.5 304,-52.5 304,-22.5 170,-22.5"/>
|
||||
<text text-anchor="start" x="178" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-24.19C142.77,-25.29 151.39,-26.42 159.89,-27.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="159.44,-31 169.81,-28.83 160.35,-24.06 159.44,-31"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="340,-0.5 340,-30.5 474,-30.5 474,-0.5 340,-0.5"/>
|
||||
<text text-anchor="start" x="348" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="407" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.11,-14.01C146.06,-13.8 158.4,-13.61 170,-13.5 229.55,-12.92 244.45,-12.92 304,-13.5 312.34,-13.58 321.06,-13.7 329.74,-13.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="329.83,-17.34 339.89,-14.01 329.95,-10.34 329.83,-17.34"/>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.4,-28.81C312.77,-27.71 321.39,-26.58 329.89,-25.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="330.35,-28.94 339.81,-24.17 329.44,-22 330.35,-28.94"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,8 @@
|
||||
<map id="range_queries::perSegTree::update" name="range_queries::perSegTree::update">
|
||||
<area shape="rect" id="node1" title="Doing range update by passing the left and right indexes of the range as well as the value to be adde..." alt="" coords="5,49,184,90"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="244,5,399,32"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="263,56,379,83"/>
|
||||
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="232,107,411,149"/>
|
||||
<area shape="rect" id="node5" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="459,78,637,119"/>
|
||||
<area shape="rect" id="node6" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="685,107,864,149"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
05716a7714ec381e9f9997bd4a8a6976
|
||||
@@ -0,0 +1,195 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
|
||||
<!--zoomable 116 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 652;
|
||||
var viewHeight = 116;
|
||||
var sectionId = 'dynsection-7';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>range_queries::perSegTree::update</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-111.5 648,-111.5 648,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-44.5 0,-74.5 134,-74.5 134,-44.5 0,-44.5"/>
|
||||
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="179,-88 179,-107 295,-107 295,-88 179,-88"/>
|
||||
<text text-anchor="middle" x="237" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-74.52C150.8,-78.23 168.14,-82.15 183.76,-85.68"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.22,-89.15 193.75,-87.94 184.77,-82.32 183.22,-89.15"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="193.5,-50 193.5,-69 280.5,-69 280.5,-50 193.5,-50"/>
|
||||
<text text-anchor="middle" x="237" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-59.5C150.49,-59.5 167.49,-59.5 182.89,-59.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.25,-63 193.25,-59.5 183.25,-56 183.25,-63"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="white" stroke="black" points="170,-0.5 170,-30.5 304,-30.5 304,-0.5 170,-0.5"/>
|
||||
<text text-anchor="start" x="178" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.35,-44.48C139.33,-40.82 154.4,-36.87 168.8,-33.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="169.84,-36.45 178.63,-30.53 168.07,-29.67 169.84,-36.45"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="340,-22.5 340,-52.5 474,-52.5 474,-22.5 340,-22.5"/>
|
||||
<text text-anchor="start" x="348" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="407" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.4,-24.19C312.77,-25.29 321.39,-26.42 329.89,-27.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="329.44,-31 339.81,-28.83 330.35,-24.06 329.44,-31"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="510,-0.5 510,-30.5 644,-30.5 644,-0.5 510,-0.5"/>
|
||||
<text text-anchor="start" x="518" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="577" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node6 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node4->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.11,-14.01C316.06,-13.8 328.4,-13.61 340,-13.5 399.55,-12.92 414.45,-12.92 474,-13.5 482.34,-13.58 491.06,-13.7 499.74,-13.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="499.83,-17.34 509.89,-14.01 499.95,-10.34 499.83,-17.34"/>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M474.4,-28.81C482.77,-27.71 491.39,-26.58 499.89,-25.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="500.35,-28.94 509.81,-24.17 499.44,-22 500.35,-28.94"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
|
||||
<svg width="652pt" height="116pt"
|
||||
viewBox="0.00 0.00 652.00 115.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 111.5)">
|
||||
<title>range_queries::perSegTree::update</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-111.5 648,-111.5 648,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-44.5 0,-74.5 134,-74.5 134,-44.5 0,-44.5"/>
|
||||
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="179,-88 179,-107 295,-107 295,-88 179,-88"/>
|
||||
<text text-anchor="middle" x="237" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-74.52C150.8,-78.23 168.14,-82.15 183.76,-85.68"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.22,-89.15 193.75,-87.94 184.77,-82.32 183.22,-89.15"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="193.5,-50 193.5,-69 280.5,-69 280.5,-50 193.5,-50"/>
|
||||
<text text-anchor="middle" x="237" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M134.4,-59.5C150.49,-59.5 167.49,-59.5 182.89,-59.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.25,-63 193.25,-59.5 183.25,-56 183.25,-63"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
|
||||
<polygon fill="white" stroke="black" points="170,-0.5 170,-30.5 304,-30.5 304,-0.5 170,-0.5"/>
|
||||
<text text-anchor="start" x="178" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="237" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.35,-44.48C139.33,-40.82 154.4,-36.87 168.8,-33.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="169.84,-36.45 178.63,-30.53 168.07,-29.67 169.84,-36.45"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
|
||||
<polygon fill="white" stroke="black" points="340,-22.5 340,-52.5 474,-52.5 474,-22.5 340,-22.5"/>
|
||||
<text text-anchor="start" x="348" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="407" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.4,-24.19C312.77,-25.29 321.39,-26.42 329.89,-27.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="329.44,-31 339.81,-28.83 330.35,-24.06 329.44,-31"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
|
||||
<polygon fill="white" stroke="black" points="510,-0.5 510,-30.5 644,-30.5 644,-0.5 510,-0.5"/>
|
||||
<text text-anchor="start" x="518" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="577" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node6 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node4->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M304.11,-14.01C316.06,-13.8 328.4,-13.61 340,-13.5 399.55,-12.92 414.45,-12.92 474,-13.5 482.34,-13.58 491.06,-13.7 499.74,-13.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="499.83,-17.34 509.89,-14.01 499.95,-10.34 499.83,-17.34"/>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M474.4,-28.81C482.77,-27.71 491.39,-26.58 499.89,-25.47"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="500.35,-28.94 509.81,-24.17 499.44,-22 500.35,-28.94"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.8 KiB |
@@ -294,7 +294,7 @@ Here is the call graph for this function:</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> }</div>
|
||||
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
|
||||
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_a88203bd297e8405160c132faa1187780"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a></div><div class="ttdeci">std::string fill(char c, int n)</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:15</div></div>
|
||||
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
|
||||
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector< int64_t ></a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
121
da/d66/classrange__queries_1_1per_seg_tree-members.html
Normal file
@@ -0,0 +1,121 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: Member List</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>
|
||||
<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>
|
||||
<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>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Algorithms_in_C++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license-end */
|
||||
</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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_tree.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">range_queries::perSegTree Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(const uint32_t &i, const uint32_t &j)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">construct</a>(const std::vector< int64_t > &vec)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>n</b> (defined in <a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a>)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a></td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571">query</a>(const uint32_t &l, const uint32_t &r, const uint32_t &version)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">size</a>()</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d">update</a>(const uint32_t &l, const uint32_t &r, const int64_t &value)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a></td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<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.1 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -90,6 +90,8 @@ $(document).ready(function(){initNavTree('dd/d69/namespacerange__queries.html','
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Classes</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">range_queries Namespace Reference</div> </div>
|
||||
</div><!--header-->
|
||||
@@ -97,9 +99,18 @@ $(document).ready(function(){initNavTree('dd/d69/namespacerange__queries.html','
|
||||
|
||||
<p>Algorithms and Data Structures that support range queries and updates.
|
||||
<a href="../../dd/d69/namespacerange__queries.html#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Range query here is range sum, but the code can be modified to make different queries like range max or min. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Algorithms and Data Structures that support range queries and updates. </p>
|
||||
<p>Range Queries algorithms. </p>
|
||||
<p>Range Queries algorithms.</p>
|
||||
<p>Range queries algorithms.</p>
|
||||
<p>for IO operations to manage dynamic memory for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> </p>
|
||||
</div></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
|
||||
@@ -9,5 +9,6 @@ var namespacerange__queries =
|
||||
[ "buildTable", "d8/dab/sparse__table_8cpp.html#a328ed1c01cccd07aeb1500c11b609be3", null ],
|
||||
[ "computeLogs", "d8/dab/sparse__table_8cpp.html#ad71ae7840af3a52e7ee56186bb0c3063", null ],
|
||||
[ "getMinimum", "d8/dab/sparse__table_8cpp.html#a932816c3de9e5ad122b180de60978e8f", null ]
|
||||
] ]
|
||||
] ],
|
||||
[ "perSegTree", "d8/d28/classrange__queries_1_1per_seg_tree.html", "d8/d28/classrange__queries_1_1per_seg_tree" ]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
<map id="range_queries::perSegTree::Node" name="range_queries::perSegTree::Node">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,139,184,180"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/shared_ptr.html" title=" " alt="" coords="17,5,172,61"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
c3cd31a283f6bd33f5d197ce7a564b63
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: range_queries::perSegTree::Node Pages: 1 -->
|
||||
<svg width="142pt" height="139pt"
|
||||
viewBox="0.00 0.00 142.00 139.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 135)">
|
||||
<title>range_queries::perSegTree::Node</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-135 138,-135 138,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title=" ">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Node</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="9,-89.5 9,-130.5 125,-130.5 125,-89.5 9,-89.5"/>
|
||||
<text text-anchor="start" x="17" y="-118.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr< range</text>
|
||||
<text text-anchor="start" x="17" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">_queries::perSegTree::</text>
|
||||
<text text-anchor="middle" x="67" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node2->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M67,-79.24C67,-62.96 67,-43.54 67,-30.66"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="63.5,-79.38 67,-89.38 70.5,-79.38 63.5,-79.38"/>
|
||||
<text text-anchor="middle" x="76.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00"> left</text>
|
||||
<text text-anchor="middle" x="76.5" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">right</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -103,6 +103,9 @@ Files</h2></td></tr>
|
||||
<tr class="memitem:d2/de9/heavy__light__decomposition_8cpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="d2/de9/heavy__light__decomposition_8cpp.html">heavy_light_decomposition.cpp</a></td></tr>
|
||||
<tr class="memdesc:d2/de9/heavy__light__decomposition_8cpp"><td class="mdescLeft"> </td><td class="mdescRight"><a href="https://en.wikipedia.org/wiki/Heavy_path_decomposition">Heavy Light Decomposition</a> implementation <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:d5/d58/persistent__seg__tree__lazy__prop_8cpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="d5/d58/persistent__seg__tree__lazy__prop_8cpp.html">persistent_seg_tree_lazy_prop.cpp</a></td></tr>
|
||||
<tr class="memdesc:d5/d58/persistent__seg__tree__lazy__prop_8cpp"><td class="mdescLeft"> </td><td class="mdescRight"><a href="https://en.wikipedia.org/wiki/Persistent_data_structure">Persistent segment tree with range updates (lazy propagation)</a> <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:d8/dab/sparse__table_8cpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="d8/dab/sparse__table_8cpp.html">sparse_table.cpp</a></td></tr>
|
||||
<tr class="memdesc:d8/dab/sparse__table_8cpp"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of <a href="https://en.wikipedia.org/wiki/Range_minimum_query">Sparse Table</a> data structure. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
||||
@@ -2,5 +2,6 @@ var dir_074119ce3a874b57120c49a0cc4bb5ad =
|
||||
[
|
||||
[ "fenwick_tree.cpp", "d6/d2e/fenwick__tree_8cpp.html", "d6/d2e/fenwick__tree_8cpp" ],
|
||||
[ "heavy_light_decomposition.cpp", "d2/de9/heavy__light__decomposition_8cpp.html", "d2/de9/heavy__light__decomposition_8cpp" ],
|
||||
[ "persistent_seg_tree_lazy_prop.cpp", "d5/d58/persistent__seg__tree__lazy__prop_8cpp.html", "d5/d58/persistent__seg__tree__lazy__prop_8cpp" ],
|
||||
[ "sparse_table.cpp", "d8/dab/sparse__table_8cpp.html", "d8/dab/sparse__table_8cpp" ]
|
||||
];
|
||||
@@ -262,7 +262,8 @@ solve-a-rat-in-a-maze-c-java-pytho/" </td></tr>
|
||||
<tr id="row_15_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_15_" class="arrow" onclick="toggleFolder('15_')">►</span><span id="img_15_" class="iconfclosed" onclick="toggleFolder('15_')"> </span><a class="el" href="dir_074119ce3a874b57120c49a0cc4bb5ad.html" target="_self">range_queries</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_15_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="d6/d2e/fenwick__tree_8cpp.html" target="_self">fenwick_tree.cpp</a></td><td class="desc">Fenwick tree </td></tr>
|
||||
<tr id="row_15_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="d2/de9/heavy__light__decomposition_8cpp.html" target="_self">heavy_light_decomposition.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Heavy_path_decomposition">Heavy Light Decomposition</a> implementation </td></tr>
|
||||
<tr id="row_15_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="d8/dab/sparse__table_8cpp.html" target="_self">sparse_table.cpp</a></td><td class="desc">Implementation of <a href="https://en.wikipedia.org/wiki/Range_minimum_query">Sparse Table</a> data structure </td></tr>
|
||||
<tr id="row_15_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="d5/d58/persistent__seg__tree__lazy__prop_8cpp.html" target="_self">persistent_seg_tree_lazy_prop.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Persistent_data_structure">Persistent segment tree with range updates (lazy propagation)</a> </td></tr>
|
||||
<tr id="row_15_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="d8/dab/sparse__table_8cpp.html" target="_self">sparse_table.cpp</a></td><td class="desc">Implementation of <a href="https://en.wikipedia.org/wiki/Range_minimum_query">Sparse Table</a> data structure </td></tr>
|
||||
<tr id="row_16_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_16_" class="arrow" onclick="toggleFolder('16_')">►</span><span id="img_16_" class="iconfclosed" onclick="toggleFolder('16_')"> </span><a class="el" href="dir_19b2bf9199a15c634a08b1ede1dd896a.html" target="_self">search</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_16_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="df/dd5/binary__search_8cpp.html" target="_self">binary_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Binary_search_algorithm">Binary search algorithm</a> </td></tr>
|
||||
<tr id="row_16_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="d8/d8a/exponential__search_8cpp.html" target="_self">exponential_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Exponential_search">Exponential search algorithm</a> </td></tr>
|
||||
|
||||
@@ -124,6 +124,9 @@ $(document).ready(function(){initNavTree('functions_c.html',''); initResizable()
|
||||
<li>Complex()
|
||||
: <a class="el" href="da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>
|
||||
</li>
|
||||
<li>construct()
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>contains()
|
||||
: <a class="el" href="d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2">binary_search_tree< T ></a>
|
||||
</li>
|
||||
|
||||
@@ -118,6 +118,9 @@ $(document).ready(function(){initNavTree('functions_func_c.html',''); initResiza
|
||||
<li>Complex()
|
||||
: <a class="el" href="da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>
|
||||
</li>
|
||||
<li>construct()
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>contains()
|
||||
: <a class="el" href="d9/dde/classbinary__search__tree.html#aa4f84b2eec9b9201af1840868ddb5fb2">binary_search_tree< T ></a>
|
||||
</li>
|
||||
|
||||
@@ -96,6 +96,9 @@ $(document).ready(function(){initNavTree('functions_func_l.html',''); initResiza
|
||||
<li>large_number()
|
||||
: <a class="el" href="db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>
|
||||
</li>
|
||||
<li>lazy()
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>lca()
|
||||
: <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4">range_queries::heavy_light_decomposition::Tree< X ></a>
|
||||
</li>
|
||||
|
||||
@@ -106,6 +106,9 @@ $(document).ready(function(){initNavTree('functions_func_n.html',''); initResiza
|
||||
: <a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2">statistics::stats_computer1< T ></a>
|
||||
, <a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534">statistics::stats_computer2< T ></a>
|
||||
</li>
|
||||
<li>newKid()
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>Node()
|
||||
: <a class="el" href="d9/d49/structdata__structures_1_1_node.html#a54a6777e72b639c3ee6446a541db8e78">data_structures::Node</a>
|
||||
, <a class="el" href="dd/d40/classdata__structures_1_1tree__234_1_1_node.html#ad5219979ea9a8baa3a273a9ec0f0c670">data_structures::tree_234::Node</a>
|
||||
|
||||
@@ -96,6 +96,7 @@ $(document).ready(function(){initNavTree('functions_func_q.html',''); initResiza
|
||||
<li>query()
|
||||
: <a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab">range_queries::heavy_light_decomposition::HLD< X ></a>
|
||||
, <a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591">range_queries::heavy_light_decomposition::SG< X ></a>
|
||||
, <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>queue()
|
||||
: <a class="el" href="db/da9/classqueue.html#a21381ee7f95daae0332665914780e970">queue< Kind ></a>
|
||||
|
||||
@@ -130,6 +130,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html',''); initResiza
|
||||
</li>
|
||||
<li>size()
|
||||
: <a class="el" href="d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3">binary_search_tree< T ></a>
|
||||
, <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>SkipList()
|
||||
: <a class="el" href="d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4">data_structures::SkipList</a>
|
||||
|
||||
@@ -97,6 +97,7 @@ $(document).ready(function(){initNavTree('functions_func_u.html',''); initResiza
|
||||
: <a class="el" href="dd/d91/class_fenwick_tree.html#a2e9ea4fcbe0786487f4535c1cfc7aa00">FenwickTree</a>
|
||||
, <a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57">range_queries::heavy_light_decomposition::HLD< X ></a>
|
||||
, <a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c">range_queries::heavy_light_decomposition::SG< X ></a>
|
||||
, <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">range_queries::perSegTree</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
|
||||
@@ -102,6 +102,9 @@ $(document).ready(function(){initNavTree('functions_l.html',''); initResizable()
|
||||
<li>last
|
||||
: <a class="el" href="d1/def/classdata__structures_1_1linked__list_1_1list.html#ae8a5aa5c6dbbc5b882030b52619dd1a3">data_structures::linked_list::list</a>
|
||||
</li>
|
||||
<li>lazy()
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>lca()
|
||||
: <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html#ae2b407e64aaf9878fbee7ee6efe9c7d4">range_queries::heavy_light_decomposition::Tree< X ></a>
|
||||
</li>
|
||||
|
||||
@@ -113,6 +113,9 @@ $(document).ready(function(){initNavTree('functions_n.html',''); initResizable()
|
||||
: <a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2">statistics::stats_computer1< T ></a>
|
||||
, <a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html#ade6de704deea24fdc88077b3d9a0d534">statistics::stats_computer2< T ></a>
|
||||
</li>
|
||||
<li>newKid()
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>next
|
||||
: <a class="el" href="dd/d1c/classhash__chain.html#a48236d44349c3ebce4774b706f4f8a0f">hash_chain</a>
|
||||
, <a class="el" href="d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f">list</a>
|
||||
|
||||
@@ -129,6 +129,9 @@ $(document).ready(function(){initNavTree('functions_p.html',''); initResizable()
|
||||
<li>psucc
|
||||
: <a class="el" href="de/d9d/classdata__structures_1_1linked__list_1_1link.html#af94c06f3220e5406245680f58b8e7081">data_structures::linked_list::link</a>
|
||||
</li>
|
||||
<li>ptrs
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>push()
|
||||
: <a class="el" href="d1/dc2/classstack.html#a5705c3926dcf5fd3f9c964467a50b81d">stack< Type ></a>
|
||||
</li>
|
||||
|
||||
@@ -96,6 +96,7 @@ $(document).ready(function(){initNavTree('functions_q.html',''); initResizable()
|
||||
<li>query()
|
||||
: <a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a4dfbf5d9df825eeb63b294c6849bdcab">range_queries::heavy_light_decomposition::HLD< X ></a>
|
||||
, <a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a1fda852e6e522707fd97f61cdb0a2591">range_queries::heavy_light_decomposition::SG< X ></a>
|
||||
, <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>queue()
|
||||
: <a class="el" href="db/da9/classqueue.html#a21381ee7f95daae0332665914780e970">queue< Kind ></a>
|
||||
|
||||
@@ -124,6 +124,7 @@ $(document).ready(function(){initNavTree('functions_r.html',''); initResizable()
|
||||
<li>right
|
||||
: <a class="el" href="dd/db6/structbinary__search__tree_1_1bst__node.html#a05f3a7aa6c31622f855ce4b5a95e91df">binary_search_tree< T >::bst_node</a>
|
||||
, <a class="el" href="d2/d05/class_min_heap.html#ac760b85cf90265b8d674b942a43fb70e">MinHeap</a>
|
||||
, <a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088">range_queries::perSegTree::Node</a>
|
||||
</li>
|
||||
<li>RightRotate()
|
||||
: <a class="el" href="d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html#ae68f8e62be02657c1287def6b38d7cc9">data_structures::tree_234::Tree234</a>
|
||||
|
||||
@@ -139,6 +139,7 @@ $(document).ready(function(){initNavTree('functions_s.html',''); initResizable()
|
||||
</li>
|
||||
<li>size()
|
||||
: <a class="el" href="d9/dde/classbinary__search__tree.html#a564fe43e7e8f7ecb6f10667a70fbc6f3">binary_search_tree< T ></a>
|
||||
, <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">range_queries::perSegTree</a>
|
||||
, <a class="el" href="d1/dc2/classstack.html#ac512a3efdc84a5f5c9f53905c8e219b0">stack< Type ></a>
|
||||
</li>
|
||||
<li>size_
|
||||
|
||||
@@ -100,6 +100,7 @@ $(document).ready(function(){initNavTree('functions_u.html',''); initResizable()
|
||||
: <a class="el" href="dd/d91/class_fenwick_tree.html#a2e9ea4fcbe0786487f4535c1cfc7aa00">FenwickTree</a>
|
||||
, <a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html#a9f1cb54ed09fde931bf3220d75ee4c57">range_queries::heavy_light_decomposition::HLD< X ></a>
|
||||
, <a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html#a3c75bf5770790f8eba8cc92227b5400c">range_queries::heavy_light_decomposition::SG< X ></a>
|
||||
, <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">range_queries::perSegTree</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
|
||||
@@ -95,6 +95,7 @@ $(document).ready(function(){initNavTree('functions_v.html',''); initResizable()
|
||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
||||
<li>val()
|
||||
: <a class="el" href="de/d9d/classdata__structures_1_1linked__list_1_1link.html#acf96f3a9a1d3b15268c38e8822300c11">data_structures::linked_list::link</a>
|
||||
, <a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf">range_queries::perSegTree::Node</a>
|
||||
</li>
|
||||
<li>value
|
||||
: <a class="el" href="dd/db6/structbinary__search__tree_1_1bst__node.html#a09da9e5b801ede4764bc812975ff7f29">binary_search_tree< T >::bst_node</a>
|
||||
@@ -107,6 +108,9 @@ $(document).ready(function(){initNavTree('functions_v.html',''); initResizable()
|
||||
: <a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html#a27f0a03e2fd2254f1c81fe668226bd92">statistics::stats_computer1< T ></a>
|
||||
, <a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html#af6198817084276113b3c064e87ce0555">statistics::stats_computer2< T ></a>
|
||||
</li>
|
||||
<li>vec
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">range_queries::perSegTree</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
|
||||
@@ -268,6 +268,9 @@ $(document).ready(function(){initNavTree('functions_vars.html',''); initResizabl
|
||||
<li>psucc
|
||||
: <a class="el" href="de/d9d/classdata__structures_1_1linked__list_1_1link.html#af94c06f3220e5406245680f58b8e7081">data_structures::linked_list::link</a>
|
||||
</li>
|
||||
<li>ptrs
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">range_queries::perSegTree</a>
|
||||
</li>
|
||||
<li>pvalue
|
||||
: <a class="el" href="de/d9d/classdata__structures_1_1linked__list_1_1link.html#ac121ce37b6ea864b160ebcada0bce936">data_structures::linked_list::link</a>
|
||||
</li>
|
||||
@@ -290,6 +293,7 @@ $(document).ready(function(){initNavTree('functions_vars.html',''); initResizabl
|
||||
</li>
|
||||
<li>right
|
||||
: <a class="el" href="dd/db6/structbinary__search__tree_1_1bst__node.html#a05f3a7aa6c31622f855ce4b5a95e91df">binary_search_tree< T >::bst_node</a>
|
||||
, <a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088">range_queries::perSegTree::Node</a>
|
||||
</li>
|
||||
<li>root
|
||||
: <a class="el" href="d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe">graph::RootedTree</a>
|
||||
@@ -369,6 +373,9 @@ $(document).ready(function(){initNavTree('functions_vars.html',''); initResizabl
|
||||
|
||||
|
||||
<h3><a id="index_v"></a>- v -</h3><ul>
|
||||
<li>val
|
||||
: <a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf">range_queries::perSegTree::Node</a>
|
||||
</li>
|
||||
<li>value
|
||||
: <a class="el" href="dd/db6/structbinary__search__tree_1_1bst__node.html#a09da9e5b801ede4764bc812975ff7f29">binary_search_tree< T >::bst_node</a>
|
||||
, <a class="el" href="d9/d49/structdata__structures_1_1_node.html#a6b973b0bded99b0c0bd84e887bf8c731">data_structures::Node</a>
|
||||
@@ -376,6 +383,9 @@ $(document).ready(function(){initNavTree('functions_vars.html',''); initResizabl
|
||||
<li>values
|
||||
: <a class="el" href="d2/d2c/structtower.html#a3ebb75c13c57d51a8a1ba1ea54a515e9">tower</a>
|
||||
</li>
|
||||
<li>vec
|
||||
: <a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">range_queries::perSegTree</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
@@ -228,6 +228,7 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl
|
||||
, <a class="el" href="d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">poisson_dist.cpp</a>
|
||||
, <a class="el" href="d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fenwick_tree.cpp</a>
|
||||
, <a class="el" href="d2/de9/heavy__light__decomposition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">heavy_light_decomposition.cpp</a>
|
||||
, <a class="el" href="d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">persistent_seg_tree_lazy_prop.cpp</a>
|
||||
, <a class="el" href="d8/dab/sparse__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sparse_table.cpp</a>
|
||||
, <a class="el" href="df/dd5/binary__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089">binary_search.cpp</a>
|
||||
, <a class="el" href="d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">exponential_search.cpp</a>
|
||||
|
||||
@@ -133,6 +133,7 @@ $(document).ready(function(){initNavTree('globals_func_t.html',''); initResizabl
|
||||
, <a class="el" href="df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">vector_cross_product.cpp</a>
|
||||
, <a class="el" href="d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">rungekutta.cpp</a>
|
||||
, <a class="el" href="d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">smallest_circle.cpp</a>
|
||||
, <a class="el" href="d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">persistent_seg_tree_lazy_prop.cpp</a>
|
||||
, <a class="el" href="d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">median_search.cpp</a>
|
||||
, <a class="el" href="d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">saddleback_search.cpp</a>
|
||||
, <a class="el" href="d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">bogo_sort.cpp</a>
|
||||
|
||||
@@ -228,6 +228,7 @@ $(document).ready(function(){initNavTree('globals_m.html',''); initResizable();
|
||||
, <a class="el" href="d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">poisson_dist.cpp</a>
|
||||
, <a class="el" href="d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fenwick_tree.cpp</a>
|
||||
, <a class="el" href="d2/de9/heavy__light__decomposition_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">heavy_light_decomposition.cpp</a>
|
||||
, <a class="el" href="d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">persistent_seg_tree_lazy_prop.cpp</a>
|
||||
, <a class="el" href="d8/dab/sparse__table_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sparse_table.cpp</a>
|
||||
, <a class="el" href="df/dd5/binary__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089">binary_search.cpp</a>
|
||||
, <a class="el" href="d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">exponential_search.cpp</a>
|
||||
|
||||
@@ -133,6 +133,7 @@ $(document).ready(function(){initNavTree('globals_t.html',''); initResizable();
|
||||
, <a class="el" href="df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">vector_cross_product.cpp</a>
|
||||
, <a class="el" href="d1/da6/rungekutta_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">rungekutta.cpp</a>
|
||||
, <a class="el" href="d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">smallest_circle.cpp</a>
|
||||
, <a class="el" href="d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">persistent_seg_tree_lazy_prop.cpp</a>
|
||||
, <a class="el" href="d9/d69/median__search_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">median_search.cpp</a>
|
||||
, <a class="el" href="d3/d22/saddleback__search_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">saddleback_search.cpp</a>
|
||||
, <a class="el" href="d5/ddb/bogo__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">bogo_sort.cpp</a>
|
||||
|
||||
@@ -138,30 +138,32 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
|
||||
<tr id="row_36_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d40/classdata__structures_1_1tree__234_1_1_node.html" target="_self">data_structures::tree_234::Node</a></td><td class="desc">2-3-4 tree node class </td></tr>
|
||||
<tr id="row_37_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d8b/struct_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_38_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/da1/structnode.html" target="_self">node< Kind ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/da1/structnode.html" target="_self">node< Type ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html" target="_self">geometry::jarvis::Point</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc8/struct_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_42_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d1b/structquery.html" target="_self">query</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_43_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue< Kind ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_44_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html" target="_self">data_structures::queue_using_array::Queue_Array</a></td><td class="desc"><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html" title="Queue_Array class containing the main data and also index of head and tail of the array.">Queue_Array</a> class containing the main data and also index of head and tail of the array </td></tr>
|
||||
<tr id="row_46_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/db4/struct_segment_intersection.html" target="_self">SegmentIntersection</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_47_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_47_" class="arrow" onclick="toggleFolder('47_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html" target="_self">range_queries::heavy_light_decomposition::SG< X ></a></td><td class="desc">Segment <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, to store heavy chains </td></tr>
|
||||
<tr id="row_47_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">range_queries::heavy_light_decomposition::HLD< X ></a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
|
||||
<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d90/classdata__structures_1_1_skip_list.html" target="_self">data_structures::SkipList</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/class_solution.html" target="_self">Solution</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d8a/classothers_1_1postfix__expression_1_1_stack.html" target="_self">others::postfix_expression::Stack</a></td><td class="desc">Creates an array to be used as stack for storing values </td></tr>
|
||||
<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc2/classstack.html" target="_self">stack< Type ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dc4/classstack__linked_list.html" target="_self">stack_linkedList</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_self">statistics::stats_computer1< T ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html" target="_self">statistics::stats_computer2< T ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d2c/structtower.html" target="_self">tower</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_56_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_56_" class="arrow" onclick="toggleFolder('56_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" target="_self">range_queries::heavy_light_decomposition::Tree< X ></a></td><td class="desc">A Basic <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, which supports binary lifting </td></tr>
|
||||
<tr id="row_56_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">range_queries::heavy_light_decomposition::HLD< X ></a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
|
||||
<tr id="row_57_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html" target="_self">data_structures::tree_234::Tree234</a></td><td class="desc">2-3-4 tree class </td></tr>
|
||||
<tr id="row_58_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d3e/classdata__structures_1_1trie.html" target="_self">data_structures::trie</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Trie">Trie</a> implementation for small-case English alphabets <code>a-z</code> </td></tr>
|
||||
<tr id="row_59_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d2f/class_trie.html" target="_self">Trie</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_60_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d48/struct_trie_1_1_trie_node.html" target="_self">Trie::TrieNode</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html" target="_self">range_queries::perSegTree::Node</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/da1/structnode.html" target="_self">node< Type ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d28/classrange__queries_1_1per_seg_tree.html" target="_self">range_queries::perSegTree</a></td><td class="desc">Range query here is range sum, but the code can be modified to make different queries like range max or min </td></tr>
|
||||
<tr id="row_42_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d5a/structgeometry_1_1jarvis_1_1_point.html" target="_self">geometry::jarvis::Point</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_43_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc8/struct_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_44_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d1b/structquery.html" target="_self">query</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_46_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue< Kind ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_47_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html" target="_self">data_structures::queue_using_array::Queue_Array</a></td><td class="desc"><a class="el" href="d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html" title="Queue_Array class containing the main data and also index of head and tail of the array.">Queue_Array</a> class containing the main data and also index of head and tail of the array </td></tr>
|
||||
<tr id="row_48_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/db4/struct_segment_intersection.html" target="_self">SegmentIntersection</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_49_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_49_" class="arrow" onclick="toggleFolder('49_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html" target="_self">range_queries::heavy_light_decomposition::SG< X ></a></td><td class="desc">Segment <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, to store heavy chains </td></tr>
|
||||
<tr id="row_49_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">range_queries::heavy_light_decomposition::HLD< X ></a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
|
||||
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d90/classdata__structures_1_1_skip_list.html" target="_self">data_structures::SkipList</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/class_solution.html" target="_self">Solution</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d8a/classothers_1_1postfix__expression_1_1_stack.html" target="_self">others::postfix_expression::Stack</a></td><td class="desc">Creates an array to be used as stack for storing values </td></tr>
|
||||
<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc2/classstack.html" target="_self">stack< Type ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dc4/classstack__linked_list.html" target="_self">stack_linkedList</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_self">statistics::stats_computer1< T ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html" target="_self">statistics::stats_computer2< T ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d2c/structtower.html" target="_self">tower</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_58_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_58_" class="arrow" onclick="toggleFolder('58_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" target="_self">range_queries::heavy_light_decomposition::Tree< X ></a></td><td class="desc">A Basic <a class="el" href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" title="A Basic Tree, which supports binary lifting.">Tree</a>, which supports binary lifting </td></tr>
|
||||
<tr id="row_58_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d8a/classrange__queries_1_1heavy__light__decomposition_1_1_h_l_d.html" target="_self">range_queries::heavy_light_decomposition::HLD< X ></a></td><td class="desc">The Heavy-Light Decomposition class </td></tr>
|
||||
<tr id="row_59_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d95/classdata__structures_1_1tree__234_1_1_tree234.html" target="_self">data_structures::tree_234::Tree234</a></td><td class="desc">2-3-4 tree class </td></tr>
|
||||
<tr id="row_60_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d3e/classdata__structures_1_1trie.html" target="_self">data_structures::trie</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Trie">Trie</a> implementation for small-case English alphabets <code>a-z</code> </td></tr>
|
||||
<tr id="row_61_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d2f/class_trie.html" target="_self">Trie</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_62_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d48/struct_trie_1_1_trie_node.html" target="_self">Trie::TrieNode</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
||||
@@ -41,12 +41,14 @@ var hierarchy =
|
||||
[ "data_structures::tree_234::Node", "dd/d40/classdata__structures_1_1tree__234_1_1_node.html", null ],
|
||||
[ "Node", "db/d8b/struct_node.html", null ],
|
||||
[ "node< Kind >", "d5/da1/structnode.html", null ],
|
||||
[ "range_queries::perSegTree::Node", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html", null ],
|
||||
[ "node< Type >", "d5/da1/structnode.html", null ],
|
||||
[ "range_queries::perSegTree", "d8/d28/classrange__queries_1_1per_seg_tree.html", null ],
|
||||
[ "geometry::jarvis::Point", "d9/d5a/structgeometry_1_1jarvis_1_1_point.html", null ],
|
||||
[ "Point", "d8/dc8/struct_point.html", null ],
|
||||
[ "query", "dd/d1b/structquery.html", null ],
|
||||
[ "queue< Kind >", "db/da9/classqueue.html", null ],
|
||||
[ "Queue", "dc/db5/struct_queue.html", null ],
|
||||
[ "queue< Kind >", "db/da9/classqueue.html", null ],
|
||||
[ "data_structures::queue_using_array::Queue_Array", "d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html", null ],
|
||||
[ "SegmentIntersection", "d4/db4/struct_segment_intersection.html", null ],
|
||||
[ "range_queries::heavy_light_decomposition::SG< X >", "d9/d35/classrange__queries_1_1heavy__light__decomposition_1_1_s_g.html", [
|
||||
|
||||
@@ -1 +1 @@
|
||||
2fd5ae4e8e7c9f0ed802d2d392e2d0f2
|
||||
cdeaa32ed8f3d0e1693646008d3d5264
|
||||
@@ -37,9 +37,9 @@
|
||||
<path fill="none" stroke="midnightblue" d="M119.99,-67.67C128.56,-65.88 137.28,-64.07 145.67,-62.32"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="119.11,-64.28 110.03,-69.74 120.53,-71.13 119.11,-64.28"/>
|
||||
</g>
|
||||
<!-- Node59 -->
|
||||
<!-- Node61 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node59</title>
|
||||
<title>Node61</title>
|
||||
<g id="a_node3"><a xlink:href="d1/d51/classrange__queries_1_1heavy__light__decomposition_1_1_tree.html" target="_top" xlink:title="A Basic Tree, which supports binary lifting.">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-41.5 110,-41.5 110,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
|
||||
@@ -48,9 +48,9 @@
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node59->Node1 -->
|
||||
<!-- Node61->Node1 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node59->Node1</title>
|
||||
<title>Node61->Node1</title>
|
||||
<path fill="none" stroke="midnightblue" d="M119.99,-34.33C128.56,-36.12 137.28,-37.93 145.67,-39.68"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="120.53,-30.87 110.03,-32.26 119.11,-37.72 120.53,-30.87"/>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
|
||||
<area shape="rect" id="node1" href="$d4/db4/struct_segment_intersection.html" title=" " alt="" coords="5,5,148,32"/>
|
||||
<area shape="rect" id="node1" href="$d8/d28/classrange__queries_1_1per_seg_tree.html" title="Range query here is range sum, but the code can be modified to make different queries like range max ..." alt="" coords="5,5,184,32"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
15c0758977894124ce8483f7108e3e73
|
||||
b727b49d33eaac846613f24543c7515b
|
||||
@@ -4,17 +4,17 @@
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
|
||||
<svg width="115pt" height="28pt"
|
||||
viewBox="0.00 0.00 115.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="142pt" height="28pt"
|
||||
viewBox="0.00 0.00 142.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
|
||||
<title>Graphical Class Hierarchy</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 111,-24 111,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 138,-24 138,4 -4,4"/>
|
||||
<!-- Node0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node0</title>
|
||||
<g id="a_node1"><a xlink:href="d4/db4/struct_segment_intersection.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 107,-19.5 107,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="53.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">SegmentIntersection</text>
|
||||
<g id="a_node1"><a xlink:href="d8/d28/classrange__queries_1_1per_seg_tree.html" target="_top" xlink:title="Range query here is range sum, but the code can be modified to make different queries like range max ...">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 134,-19.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
|
||||
<area shape="rect" id="node1" href="$dd/d4f/class_solution.html" title=" " alt="" coords="5,5,75,32"/>
|
||||
<area shape="rect" id="node1" href="$d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html" title=" " alt="" coords="5,5,184,47"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
d29718af26117f8d229cea6c31073750
|
||||
bdb91a66072aac6e54cadd23f1d913b8
|
||||
@@ -4,17 +4,18 @@
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
|
||||
<svg width="60pt" height="28pt"
|
||||
viewBox="0.00 0.00 60.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
|
||||
<svg width="142pt" height="39pt"
|
||||
viewBox="0.00 0.00 142.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
|
||||
<title>Graphical Class Hierarchy</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 56,-24 56,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 138,-35 138,4 -4,4"/>
|
||||
<!-- Node0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node0</title>
|
||||
<g id="a_node1"><a xlink:href="dd/d4f/class_solution.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 52,-19.5 52,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="26" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Solution</text>
|
||||
<g id="a_node1"><a xlink:href="d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-30.5 134,-30.5 134,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
|
||||
<text text-anchor="middle" x="67" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Node</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 996 B After Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
|
||||
<area shape="rect" id="node1" href="$d1/dc2/classstack.html" title=" " alt="" coords="5,5,112,32"/>
|
||||
<area shape="rect" id="node1" href="$d4/db4/struct_segment_intersection.html" title=" " alt="" coords="5,5,148,32"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
172cf06ef071a5ae65c47d2b08429ea1
|
||||
15c0758977894124ce8483f7108e3e73
|
||||
@@ -4,17 +4,17 @@
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
|
||||
<svg width="88pt" height="28pt"
|
||||
viewBox="0.00 0.00 88.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="115pt" height="28pt"
|
||||
viewBox="0.00 0.00 115.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
|
||||
<title>Graphical Class Hierarchy</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 84,-24 84,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 111,-24 111,4 -4,4"/>
|
||||
<!-- Node0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node0</title>
|
||||
<g id="a_node1"><a xlink:href="d1/dc2/classstack.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 80,-19.5 80,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="40" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">stack< Type ></text>
|
||||
<g id="a_node1"><a xlink:href="d4/db4/struct_segment_intersection.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 107,-19.5 107,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="53.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">SegmentIntersection</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1003 B After Width: | Height: | Size: 1.0 KiB |
@@ -1,3 +1,3 @@
|
||||
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
|
||||
<area shape="rect" id="node1" href="$d2/dc4/classstack__linked_list.html" title=" " alt="" coords="5,5,121,32"/>
|
||||
<area shape="rect" id="node1" href="$dd/d4f/class_solution.html" title=" " alt="" coords="5,5,75,32"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
a99fca445652dfb292d35f8fd85290cf
|
||||
d29718af26117f8d229cea6c31073750
|
||||
@@ -4,17 +4,17 @@
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
|
||||
<svg width="95pt" height="28pt"
|
||||
viewBox="0.00 0.00 95.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="60pt" height="28pt"
|
||||
viewBox="0.00 0.00 60.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
|
||||
<title>Graphical Class Hierarchy</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 91,-24 91,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 56,-24 56,4 -4,4"/>
|
||||
<!-- Node0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node0</title>
|
||||
<g id="a_node1"><a xlink:href="d2/dc4/classstack__linked_list.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 87,-19.5 87,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="43.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">stack_linkedList</text>
|
||||
<g id="a_node1"><a xlink:href="dd/d4f/class_solution.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 52,-19.5 52,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="26" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Solution</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1015 B After Width: | Height: | Size: 996 B |
@@ -1,3 +1,3 @@
|
||||
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
|
||||
<area shape="rect" id="node1" href="$d7/d7c/classstatistics_1_1stats__computer1.html" title=" " alt="" coords="5,5,217,32"/>
|
||||
<area shape="rect" id="node1" href="$d1/dc2/classstack.html" title=" " alt="" coords="5,5,112,32"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
56037270393cd432505f71b72a285a33
|
||||
172cf06ef071a5ae65c47d2b08429ea1
|
||||
@@ -4,17 +4,17 @@
|
||||
<!-- Generated by graphviz version 2.46.0 (20210118.1747)
|
||||
-->
|
||||
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
|
||||
<svg width="167pt" height="28pt"
|
||||
viewBox="0.00 0.00 167.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="88pt" height="28pt"
|
||||
viewBox="0.00 0.00 88.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
|
||||
<title>Graphical Class Hierarchy</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 163,-24 163,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 84,-24 84,4 -4,4"/>
|
||||
<!-- Node0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node0</title>
|
||||
<g id="a_node1"><a xlink:href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 159,-19.5 159,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="79.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">statistics::stats_computer1< T ></text>
|
||||
<g id="a_node1"><a xlink:href="d1/dc2/classstack.html" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-19.5 80,-19.5 80,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="40" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">stack< Type ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1003 B |
@@ -1,3 +1,3 @@
|
||||
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
|
||||
<area shape="rect" id="node1" href="$d8/dab/classstatistics_1_1stats__computer2.html" title=" " alt="" coords="5,5,217,32"/>
|
||||
<area shape="rect" id="node1" href="$d2/dc4/classstack__linked_list.html" title=" " alt="" coords="5,5,121,32"/>
|
||||
</map>
|
||||
|
||||