Files
C-Plus-Plus/d8/dc0/heavy__light__decomposition_8cpp__incl.svg
2023-06-16 21:35:33 +00:00

267 lines
11 KiB
XML

<?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 8.0.5 (20230430.1635)
-->
<!-- Title: range_queries/heavy_light_decomposition.cpp Pages: 1 -->
<!--zoomable 94 -->
<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[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<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="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" 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" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" 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" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" 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" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" 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="application/ecmascript">
var viewWidth = 560;
var viewHeight = 94;
var sectionId = 'dynsection-0';
</script>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>range_queries/heavy_light_decomposition.cpp</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Heavy Light Decomposition implementation">
<polygon fill="#999999" stroke="#666666" points="354,-85.75 227.75,-85.75 227.75,-55.25 354,-55.25 354,-85.75"/>
<text text-anchor="start" x="235.75" y="-72.25" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries/heavy</text>
<text text-anchor="middle" x="290.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition.cpp</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="55.75,-19.25 0,-19.25 0,0 55.75,0 55.75,-19.25"/>
<text text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M227.52,-55.59C184.67,-46.15 126.52,-33.25 66.57,-19.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="67.68,-16.05 57.15,-17.25 66.12,-22.88 67.68,-16.05"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="122,-19.25 73.75,-19.25 73.75,0 122,0 122,-19.25"/>
<text text-anchor="middle" x="97.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M242.67,-54.8C208.41,-44.35 163.22,-30.56 132.49,-21.19"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="133.86,-17.64 123.27,-18.07 131.81,-24.33 133.86,-17.64"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="183.38,-19.25 140.38,-19.25 140.38,0 183.38,0 183.38,-19.25"/>
<text text-anchor="middle" x="161.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M258.66,-54.8C238.07,-45.4 211.56,-33.3 191.5,-24.14"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="193.21,-20.62 182.66,-19.65 190.3,-26.99 193.21,-20.62"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="246.5,-19.25 201.25,-19.25 201.25,0 246.5,0 246.5,-19.25"/>
<text text-anchor="middle" x="223.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M274.31,-54.95C264.6,-46.41 252.31,-35.62 242.3,-26.81"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="245.03,-23.67 235.2,-19.7 240.41,-28.93 245.03,-23.67"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="317.62,-19.25 264.12,-19.25 264.12,0 317.62,0 317.62,-19.25"/>
<text text-anchor="middle" x="290.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M290.88,-54.95C290.88,-47.62 290.88,-38.62 290.88,-30.66"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="294.38,-30.7 290.88,-20.7 287.38,-30.7 294.38,-30.7"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="364.27,-19.25 335.48,-19.25 335.48,0 364.27,0 364.27,-19.25"/>
<text text-anchor="middle" x="349.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">list</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6_Node000001_Node000007" class="edge">
<title>Node1&#45;&gt;Node7</title>
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M305.46,-54.95C313.84,-46.59 324.39,-36.05 333.11,-27.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="335.17,-30.24 339.78,-20.7 330.23,-25.29 335.17,-30.24"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="433.12,-19.25 382.62,-19.25 382.62,0 433.12,0 433.12,-19.25"/>
<text text-anchor="middle" x="407.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">numeric</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7_Node000001_Node000008" class="edge">
<title>Node1&#45;&gt;Node8</title>
<g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M320.1,-54.8C338.51,-45.53 362.15,-33.63 380.25,-24.52"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="381.57,-27.28 388.93,-19.65 378.43,-21.02 381.57,-27.28"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="490.88,-19.25 450.88,-19.25 450.88,0 490.88,0 490.88,-19.25"/>
<text text-anchor="middle" x="470.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M335.83,-54.8C368.52,-44.1 411.88,-29.92 440.55,-20.54"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="441.35,-23.64 449.76,-17.2 439.17,-16.99 441.35,-23.64"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="552.38,-19.25 509.38,-19.25 509.38,0 552.38,0 552.38,-19.25"/>
<text text-anchor="middle" x="530.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9_Node000001_Node000010" class="edge">
<title>Node1&#45;&gt;Node10</title>
<g id="a_edge9_Node000001_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M354.13,-54.91C393.14,-45.76 444.44,-33.49 498.42,-19.56"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="499.08,-22.74 507.89,-16.85 497.33,-15.97 499.08,-22.74"/>
</a>
</g>
</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()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</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="heavy__light__decomposition_8cpp__incl_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>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>