mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-04-01 09:43:06 +08:00
247 lines
12 KiB
XML
247 lines
12 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 2.49.1 (20210923.0004)
|
|
-->
|
|
<!-- Title: range_queries/heavy_light_decomposition.cpp Pages: 1 -->
|
|
<!--zoomable 95 -->
|
|
<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 = 573;
|
|
var viewHeight = 95;
|
|
var sectionId = 'dynsection-0';
|
|
</script>
|
|
<script xlink:href="../../svgpan.js"/>
|
|
<svg id="graph" class="graph">
|
|
<g id="viewport">
|
|
<title>range_queries/heavy_light_decomposition.cpp</title>
|
|
<polygon fill="white" stroke="transparent" points="-4,4 -4,-91 569,-91 569,4 -4,4"/>
|
|
<!-- Node1 -->
|
|
<g id="node1" class="node">
|
|
<title>Node1</title>
|
|
<g id="a_node1"><a xlink:title="Heavy Light Decomposition implementation">
|
|
<polygon fill="#bfbfbf" stroke="black" points="233.5,-56.5 233.5,-86.5 362.5,-86.5 362.5,-56.5 233.5,-56.5"/>
|
|
<text text-anchor="start" x="241.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries/heavy</text>
|
|
<text text-anchor="middle" x="298" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition.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 58,-19.5 58,-0.5 0,-0.5"/>
|
|
<text text-anchor="middle" x="29" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node2 -->
|
|
<g id="edge1" class="edge">
|
|
<title>Node1->Node2</title>
|
|
<path fill="none" stroke="midnightblue" d="M233.21,-56.65C189.22,-47.17 129.48,-34.16 67.93,-20.18"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="68.56,-16.74 58.03,-17.93 67.01,-23.56 68.56,-16.74"/>
|
|
</g>
|
|
<!-- Node3 -->
|
|
<g id="node3" class="node">
|
|
<title>Node3</title>
|
|
<g id="a_node3"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="76.5,-0.5 76.5,-19.5 125.5,-19.5 125.5,-0.5 76.5,-0.5"/>
|
|
<text text-anchor="middle" x="101" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node3 -->
|
|
<g id="edge2" class="edge">
|
|
<title>Node1->Node3</title>
|
|
<path fill="none" stroke="midnightblue" d="M251.31,-56.4C215.79,-45.67 167.7,-31.14 135.57,-21.44"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="136.33,-18.01 125.74,-18.47 134.3,-24.71 136.33,-18.01"/>
|
|
</g>
|
|
<!-- Node4 -->
|
|
<g id="node4" class="node">
|
|
<title>Node4</title>
|
|
<g id="a_node4"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="144,-0.5 144,-19.5 188,-19.5 188,-0.5 144,-0.5"/>
|
|
<text text-anchor="middle" x="166" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node4 -->
|
|
<g id="edge3" class="edge">
|
|
<title>Node1->Node4</title>
|
|
<path fill="none" stroke="midnightblue" d="M266.72,-56.4C244.77,-46.51 215.66,-33.38 194.38,-23.79"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="195.76,-20.58 185.21,-19.66 192.89,-26.96 195.76,-20.58"/>
|
|
</g>
|
|
<!-- Node5 -->
|
|
<g id="node5" class="node">
|
|
<title>Node5</title>
|
|
<g id="a_node5"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="206,-0.5 206,-19.5 252,-19.5 252,-0.5 206,-0.5"/>
|
|
<text text-anchor="middle" x="229" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node5 -->
|
|
<g id="edge4" class="edge">
|
|
<title>Node1->Node5</title>
|
|
<path fill="none" stroke="midnightblue" d="M281.65,-56.4C271.1,-47.31 257.4,-35.49 246.62,-26.19"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="248.9,-23.54 239.04,-19.66 244.33,-28.84 248.9,-23.54"/>
|
|
</g>
|
|
<!-- Node6 -->
|
|
<g id="node6" class="node">
|
|
<title>Node6</title>
|
|
<g id="a_node6"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="270.5,-0.5 270.5,-19.5 325.5,-19.5 325.5,-0.5 270.5,-0.5"/>
|
|
<text text-anchor="middle" x="298" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node6 -->
|
|
<g id="edge5" class="edge">
|
|
<title>Node1->Node6</title>
|
|
<path fill="none" stroke="midnightblue" d="M298,-56.4C298,-48.47 298,-38.46 298,-29.86"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="301.5,-29.66 298,-19.66 294.5,-29.66 301.5,-29.66"/>
|
|
</g>
|
|
<!-- Node7 -->
|
|
<g id="node7" class="node">
|
|
<title>Node7</title>
|
|
<g id="a_node7"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="343.5,-0.5 343.5,-19.5 372.5,-19.5 372.5,-0.5 343.5,-0.5"/>
|
|
<text text-anchor="middle" x="358" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">list</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node7 -->
|
|
<g id="edge6" class="edge">
|
|
<title>Node1->Node7</title>
|
|
<path fill="none" stroke="midnightblue" d="M312.22,-56.4C321.21,-47.49 332.84,-35.95 342.13,-26.74"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="344.63,-29.18 349.27,-19.66 339.7,-24.21 344.63,-29.18"/>
|
|
</g>
|
|
<!-- Node8 -->
|
|
<g id="node8" class="node">
|
|
<title>Node8</title>
|
|
<g id="a_node8"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="391,-0.5 391,-19.5 443,-19.5 443,-0.5 391,-0.5"/>
|
|
<text text-anchor="middle" x="417" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">numeric</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node8 -->
|
|
<g id="edge7" class="edge">
|
|
<title>Node1->Node8</title>
|
|
<path fill="none" stroke="midnightblue" d="M326.2,-56.4C345.72,-46.64 371.53,-33.74 390.63,-24.18"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="392.31,-27.26 399.68,-19.66 389.17,-21 392.31,-27.26"/>
|
|
</g>
|
|
<!-- Node9 -->
|
|
<g id="node9" class="node">
|
|
<title>Node9</title>
|
|
<g id="a_node9"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="461.5,-0.5 461.5,-19.5 502.5,-19.5 502.5,-0.5 461.5,-0.5"/>
|
|
<text text-anchor="middle" x="482" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node9 -->
|
|
<g id="edge8" class="edge">
|
|
<title>Node1->Node9</title>
|
|
<path fill="none" stroke="midnightblue" d="M341.61,-56.4C375.45,-45.46 421.5,-30.56 451.49,-20.87"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="452.94,-24.08 461.38,-17.67 450.79,-17.42 452.94,-24.08"/>
|
|
</g>
|
|
<!-- Node10 -->
|
|
<g id="node10" class="node">
|
|
<title>Node10</title>
|
|
<g id="a_node10"><a xlink:title=" ">
|
|
<polygon fill="white" stroke="#bfbfbf" points="521,-0.5 521,-19.5 565,-19.5 565,-0.5 521,-0.5"/>
|
|
<text text-anchor="middle" x="543" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
<!-- Node1->Node10 -->
|
|
<g id="edge9" class="edge">
|
|
<title>Node1->Node10</title>
|
|
<path fill="none" stroke="midnightblue" d="M361.42,-56.42C401.78,-47.26 455.36,-34.71 511.01,-20.17"/>
|
|
<polygon fill="midnightblue" stroke="midnightblue" points="511.91,-23.55 520.69,-17.62 510.13,-16.78 511.91,-23.55"/>
|
|
</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="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>
|
|
</svg>
|