c++动态规划解决一系列数中互不相邻数字之和的最大值
问题描述
给定一系列数字{1,2,4,1,7,8,3},要求其中互不相邻的数字之和的最大值。
解决思路
针对每一个数字,可以分为选择或者不选择的情况,由于其中会存在包含关系,所以我们从最后一个数字开始分析。假设i个数中不相邻数字之和的最大值为opt(i),第i个数字为arr(i).则对于第七个数字“3”,可以分为两种情况:
- 选择第七个数字“3” ,那么第六个数字“8”一定不能选,七个不相邻数字之和的最大值opt(7)变为前五个不相邻数字之和的最大值opt(5)和3的和,即opt(5)+3;
- 不选第七个数字“3” ,那么七个不相邻数字之和的最大值opt(7)变为前六个不相邻数字之和的最大值opt(6);
综合上述,即可得到
#mermaid-svg-u1b6WtMbjbKF2pDu .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .label text{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .node rect,#mermaid-svg-u1b6WtMbjbKF2pDu .node circle,#mermaid-svg-u1b6WtMbjbKF2pDu .node ellipse,#mermaid-svg-u1b6WtMbjbKF2pDu .node polygon,#mermaid-svg-u1b6WtMbjbKF2pDu .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-u1b6WtMbjbKF2pDu .node .label{text-align:center;fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .node.clickable{cursor:pointer}#mermaid-svg-u1b6WtMbjbKF2pDu .arrowheadPath{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-u1b6WtMbjbKF2pDu .flowchart-link{stroke:#333;fill:none}#mermaid-svg-u1b6WtMbjbKF2pDu .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-u1b6WtMbjbKF2pDu .edgeLabel rect{opacity:0.9}#mermaid-svg-u1b6WtMbjbKF2pDu .edgeLabel span{color:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-u1b6WtMbjbKF2pDu .cluster text{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-u1b6WtMbjbKF2pDu .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-u1b6WtMbjbKF2pDu text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-u1b6WtMbjbKF2pDu .actor-line{stroke:grey}#mermaid-svg-u1b6WtMbjbKF2pDu .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-u1b6WtMbjbKF2pDu #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .sequenceNumber{fill:#fff}#mermaid-svg-u1b6WtMbjbKF2pDu #sequencenumber{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu #crosshead path{fill:#333;stroke:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .messageText{fill:#333;stroke:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-u1b6WtMbjbKF2pDu .labelText,#mermaid-svg-u1b6WtMbjbKF2pDu .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-u1b6WtMbjbKF2pDu .loopText,#mermaid-svg-u1b6WtMbjbKF2pDu .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-u1b6WtMbjbKF2pDu .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-u1b6WtMbjbKF2pDu .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-u1b6WtMbjbKF2pDu .noteText,#mermaid-svg-u1b6WtMbjbKF2pDu .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-u1b6WtMbjbKF2pDu .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-u1b6WtMbjbKF2pDu .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-u1b6WtMbjbKF2pDu .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-u1b6WtMbjbKF2pDu .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .section{stroke:none;opacity:0.2}#mermaid-svg-u1b6WtMbjbKF2pDu .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-u1b6WtMbjbKF2pDu .section2{fill:#fff400}#mermaid-svg-u1b6WtMbjbKF2pDu .section1,#mermaid-svg-u1b6WtMbjbKF2pDu .section3{fill:#fff;opacity:0.2}#mermaid-svg-u1b6WtMbjbKF2pDu .sectionTitle0{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .sectionTitle1{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .sectionTitle2{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .sectionTitle3{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-u1b6WtMbjbKF2pDu .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .grid path{stroke-width:0}#mermaid-svg-u1b6WtMbjbKF2pDu .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-u1b6WtMbjbKF2pDu .task{stroke-width:2}#mermaid-svg-u1b6WtMbjbKF2pDu .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .taskText:not([font-size]){font-size:11px}#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-u1b6WtMbjbKF2pDu .task.clickable{cursor:pointer}#mermaid-svg-u1b6WtMbjbKF2pDu .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-u1b6WtMbjbKF2pDu .taskText0,#mermaid-svg-u1b6WtMbjbKF2pDu .taskText1,#mermaid-svg-u1b6WtMbjbKF2pDu .taskText2,#mermaid-svg-u1b6WtMbjbKF2pDu .taskText3{fill:#fff}#mermaid-svg-u1b6WtMbjbKF2pDu .task0,#mermaid-svg-u1b6WtMbjbKF2pDu .task1,#mermaid-svg-u1b6WtMbjbKF2pDu .task2,#mermaid-svg-u1b6WtMbjbKF2pDu .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutside0,#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutside2{fill:#000}#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutside1,#mermaid-svg-u1b6WtMbjbKF2pDu .taskTextOutside3{fill:#000}#mermaid-svg-u1b6WtMbjbKF2pDu .active0,#mermaid-svg-u1b6WtMbjbKF2pDu .active1,#mermaid-svg-u1b6WtMbjbKF2pDu .active2,#mermaid-svg-u1b6WtMbjbKF2pDu .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-u1b6WtMbjbKF2pDu .activeText0,#mermaid-svg-u1b6WtMbjbKF2pDu .activeText1,#mermaid-svg-u1b6WtMbjbKF2pDu .activeText2,#mermaid-svg-u1b6WtMbjbKF2pDu .activeText3{fill:#000 !important}#mermaid-svg-u1b6WtMbjbKF2pDu .done0,#mermaid-svg-u1b6WtMbjbKF2pDu .done1,#mermaid-svg-u1b6WtMbjbKF2pDu .done2,#mermaid-svg-u1b6WtMbjbKF2pDu .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-u1b6WtMbjbKF2pDu .doneText0,#mermaid-svg-u1b6WtMbjbKF2pDu .doneText1,#mermaid-svg-u1b6WtMbjbKF2pDu .doneText2,#mermaid-svg-u1b6WtMbjbKF2pDu .doneText3{fill:#000 !important}#mermaid-svg-u1b6WtMbjbKF2pDu .crit0,#mermaid-svg-u1b6WtMbjbKF2pDu .crit1,#mermaid-svg-u1b6WtMbjbKF2pDu .crit2,#mermaid-svg-u1b6WtMbjbKF2pDu .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-u1b6WtMbjbKF2pDu .activeCrit0,#mermaid-svg-u1b6WtMbjbKF2pDu .activeCrit1,#mermaid-svg-u1b6WtMbjbKF2pDu .activeCrit2,#mermaid-svg-u1b6WtMbjbKF2pDu .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-u1b6WtMbjbKF2pDu .doneCrit0,#mermaid-svg-u1b6WtMbjbKF2pDu .doneCrit1,#mermaid-svg-u1b6WtMbjbKF2pDu .doneCrit2,#mermaid-svg-u1b6WtMbjbKF2pDu .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-u1b6WtMbjbKF2pDu .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-u1b6WtMbjbKF2pDu .milestoneText{font-style:italic}#mermaid-svg-u1b6WtMbjbKF2pDu .doneCritText0,#mermaid-svg-u1b6WtMbjbKF2pDu .doneCritText1,#mermaid-svg-u1b6WtMbjbKF2pDu .doneCritText2,#mermaid-svg-u1b6WtMbjbKF2pDu .doneCritText3{fill:#000 !important}#mermaid-svg-u1b6WtMbjbKF2pDu .activeCritText0,#mermaid-svg-u1b6WtMbjbKF2pDu .activeCritText1,#mermaid-svg-u1b6WtMbjbKF2pDu .activeCritText2,#mermaid-svg-u1b6WtMbjbKF2pDu .activeCritText3{fill:#000 !important}#mermaid-svg-u1b6WtMbjbKF2pDu .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-u1b6WtMbjbKF2pDu g.classGroup text .title{font-weight:bolder}#mermaid-svg-u1b6WtMbjbKF2pDu g.clickable{cursor:pointer}#mermaid-svg-u1b6WtMbjbKF2pDu g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-u1b6WtMbjbKF2pDu g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-u1b6WtMbjbKF2pDu .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-u1b6WtMbjbKF2pDu .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-u1b6WtMbjbKF2pDu .dashed-line{stroke-dasharray:3}#mermaid-svg-u1b6WtMbjbKF2pDu #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu .commit-id,#mermaid-svg-u1b6WtMbjbKF2pDu .commit-msg,#mermaid-svg-u1b6WtMbjbKF2pDu .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-u1b6WtMbjbKF2pDu g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-u1b6WtMbjbKF2pDu g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-u1b6WtMbjbKF2pDu g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-u1b6WtMbjbKF2pDu .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-u1b6WtMbjbKF2pDu .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-u1b6WtMbjbKF2pDu .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-u1b6WtMbjbKF2pDu .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-u1b6WtMbjbKF2pDu .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-u1b6WtMbjbKF2pDu .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-u1b6WtMbjbKF2pDu .edgeLabel text{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-u1b6WtMbjbKF2pDu .node circle.state-start{fill:black;stroke:black}#mermaid-svg-u1b6WtMbjbKF2pDu .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-u1b6WtMbjbKF2pDu #statediagram-barbEnd{fill:#9370db}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-state .divider{stroke:#9370db}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-u1b6WtMbjbKF2pDu .note-edge{stroke-dasharray:5}#mermaid-svg-u1b6WtMbjbKF2pDu .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-u1b6WtMbjbKF2pDu .error-icon{fill:#522}#mermaid-svg-u1b6WtMbjbKF2pDu .error-text{fill:#522;stroke:#522}#mermaid-svg-u1b6WtMbjbKF2pDu .edge-thickness-normal{stroke-width:2px}#mermaid-svg-u1b6WtMbjbKF2pDu .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-u1b6WtMbjbKF2pDu .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-u1b6WtMbjbKF2pDu .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-u1b6WtMbjbKF2pDu .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-u1b6WtMbjbKF2pDu .marker{fill:#333}#mermaid-svg-u1b6WtMbjbKF2pDu .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-u1b6WtMbjbKF2pDu {color: rgba(0, 0, 0, 0.75);font: ;}
选择
不选择
opt7
opt5 + 3
opt6
最大值
即opt(7)=max{opt(6),opt(5)+3}
同理对于第六个数字“8”,可得到
#mermaid-svg-b94f2OJpB3FtfpUO .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-b94f2OJpB3FtfpUO .label text{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .node rect,#mermaid-svg-b94f2OJpB3FtfpUO .node circle,#mermaid-svg-b94f2OJpB3FtfpUO .node ellipse,#mermaid-svg-b94f2OJpB3FtfpUO .node polygon,#mermaid-svg-b94f2OJpB3FtfpUO .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-b94f2OJpB3FtfpUO .node .label{text-align:center;fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .node.clickable{cursor:pointer}#mermaid-svg-b94f2OJpB3FtfpUO .arrowheadPath{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-b94f2OJpB3FtfpUO .flowchart-link{stroke:#333;fill:none}#mermaid-svg-b94f2OJpB3FtfpUO .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-b94f2OJpB3FtfpUO .edgeLabel rect{opacity:0.9}#mermaid-svg-b94f2OJpB3FtfpUO .edgeLabel span{color:#333}#mermaid-svg-b94f2OJpB3FtfpUO .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-b94f2OJpB3FtfpUO .cluster text{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-b94f2OJpB3FtfpUO .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-b94f2OJpB3FtfpUO text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-b94f2OJpB3FtfpUO .actor-line{stroke:grey}#mermaid-svg-b94f2OJpB3FtfpUO .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-b94f2OJpB3FtfpUO .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-b94f2OJpB3FtfpUO #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-b94f2OJpB3FtfpUO .sequenceNumber{fill:#fff}#mermaid-svg-b94f2OJpB3FtfpUO #sequencenumber{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO #crosshead path{fill:#333;stroke:#333}#mermaid-svg-b94f2OJpB3FtfpUO .messageText{fill:#333;stroke:#333}#mermaid-svg-b94f2OJpB3FtfpUO .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-b94f2OJpB3FtfpUO .labelText,#mermaid-svg-b94f2OJpB3FtfpUO .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-b94f2OJpB3FtfpUO .loopText,#mermaid-svg-b94f2OJpB3FtfpUO .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-b94f2OJpB3FtfpUO .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-b94f2OJpB3FtfpUO .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-b94f2OJpB3FtfpUO .noteText,#mermaid-svg-b94f2OJpB3FtfpUO .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-b94f2OJpB3FtfpUO .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-b94f2OJpB3FtfpUO .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-b94f2OJpB3FtfpUO .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-b94f2OJpB3FtfpUO .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .section{stroke:none;opacity:0.2}#mermaid-svg-b94f2OJpB3FtfpUO .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-b94f2OJpB3FtfpUO .section2{fill:#fff400}#mermaid-svg-b94f2OJpB3FtfpUO .section1,#mermaid-svg-b94f2OJpB3FtfpUO .section3{fill:#fff;opacity:0.2}#mermaid-svg-b94f2OJpB3FtfpUO .sectionTitle0{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .sectionTitle1{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .sectionTitle2{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .sectionTitle3{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-b94f2OJpB3FtfpUO .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .grid path{stroke-width:0}#mermaid-svg-b94f2OJpB3FtfpUO .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-b94f2OJpB3FtfpUO .task{stroke-width:2}#mermaid-svg-b94f2OJpB3FtfpUO .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .taskText:not([font-size]){font-size:11px}#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-b94f2OJpB3FtfpUO .task.clickable{cursor:pointer}#mermaid-svg-b94f2OJpB3FtfpUO .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-b94f2OJpB3FtfpUO .taskText0,#mermaid-svg-b94f2OJpB3FtfpUO .taskText1,#mermaid-svg-b94f2OJpB3FtfpUO .taskText2,#mermaid-svg-b94f2OJpB3FtfpUO .taskText3{fill:#fff}#mermaid-svg-b94f2OJpB3FtfpUO .task0,#mermaid-svg-b94f2OJpB3FtfpUO .task1,#mermaid-svg-b94f2OJpB3FtfpUO .task2,#mermaid-svg-b94f2OJpB3FtfpUO .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutside0,#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutside2{fill:#000}#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutside1,#mermaid-svg-b94f2OJpB3FtfpUO .taskTextOutside3{fill:#000}#mermaid-svg-b94f2OJpB3FtfpUO .active0,#mermaid-svg-b94f2OJpB3FtfpUO .active1,#mermaid-svg-b94f2OJpB3FtfpUO .active2,#mermaid-svg-b94f2OJpB3FtfpUO .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-b94f2OJpB3FtfpUO .activeText0,#mermaid-svg-b94f2OJpB3FtfpUO .activeText1,#mermaid-svg-b94f2OJpB3FtfpUO .activeText2,#mermaid-svg-b94f2OJpB3FtfpUO .activeText3{fill:#000 !important}#mermaid-svg-b94f2OJpB3FtfpUO .done0,#mermaid-svg-b94f2OJpB3FtfpUO .done1,#mermaid-svg-b94f2OJpB3FtfpUO .done2,#mermaid-svg-b94f2OJpB3FtfpUO .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-b94f2OJpB3FtfpUO .doneText0,#mermaid-svg-b94f2OJpB3FtfpUO .doneText1,#mermaid-svg-b94f2OJpB3FtfpUO .doneText2,#mermaid-svg-b94f2OJpB3FtfpUO .doneText3{fill:#000 !important}#mermaid-svg-b94f2OJpB3FtfpUO .crit0,#mermaid-svg-b94f2OJpB3FtfpUO .crit1,#mermaid-svg-b94f2OJpB3FtfpUO .crit2,#mermaid-svg-b94f2OJpB3FtfpUO .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-b94f2OJpB3FtfpUO .activeCrit0,#mermaid-svg-b94f2OJpB3FtfpUO .activeCrit1,#mermaid-svg-b94f2OJpB3FtfpUO .activeCrit2,#mermaid-svg-b94f2OJpB3FtfpUO .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-b94f2OJpB3FtfpUO .doneCrit0,#mermaid-svg-b94f2OJpB3FtfpUO .doneCrit1,#mermaid-svg-b94f2OJpB3FtfpUO .doneCrit2,#mermaid-svg-b94f2OJpB3FtfpUO .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-b94f2OJpB3FtfpUO .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-b94f2OJpB3FtfpUO .milestoneText{font-style:italic}#mermaid-svg-b94f2OJpB3FtfpUO .doneCritText0,#mermaid-svg-b94f2OJpB3FtfpUO .doneCritText1,#mermaid-svg-b94f2OJpB3FtfpUO .doneCritText2,#mermaid-svg-b94f2OJpB3FtfpUO .doneCritText3{fill:#000 !important}#mermaid-svg-b94f2OJpB3FtfpUO .activeCritText0,#mermaid-svg-b94f2OJpB3FtfpUO .activeCritText1,#mermaid-svg-b94f2OJpB3FtfpUO .activeCritText2,#mermaid-svg-b94f2OJpB3FtfpUO .activeCritText3{fill:#000 !important}#mermaid-svg-b94f2OJpB3FtfpUO .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-b94f2OJpB3FtfpUO g.classGroup text .title{font-weight:bolder}#mermaid-svg-b94f2OJpB3FtfpUO g.clickable{cursor:pointer}#mermaid-svg-b94f2OJpB3FtfpUO g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-b94f2OJpB3FtfpUO g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-b94f2OJpB3FtfpUO .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-b94f2OJpB3FtfpUO .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-b94f2OJpB3FtfpUO .dashed-line{stroke-dasharray:3}#mermaid-svg-b94f2OJpB3FtfpUO #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO .commit-id,#mermaid-svg-b94f2OJpB3FtfpUO .commit-msg,#mermaid-svg-b94f2OJpB3FtfpUO .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-b94f2OJpB3FtfpUO g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-b94f2OJpB3FtfpUO g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-b94f2OJpB3FtfpUO g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-b94f2OJpB3FtfpUO .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-b94f2OJpB3FtfpUO .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-b94f2OJpB3FtfpUO .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-b94f2OJpB3FtfpUO .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-b94f2OJpB3FtfpUO .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-b94f2OJpB3FtfpUO .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-b94f2OJpB3FtfpUO .edgeLabel text{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-b94f2OJpB3FtfpUO .node circle.state-start{fill:black;stroke:black}#mermaid-svg-b94f2OJpB3FtfpUO .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-b94f2OJpB3FtfpUO #statediagram-barbEnd{fill:#9370db}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-state .divider{stroke:#9370db}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-b94f2OJpB3FtfpUO .note-edge{stroke-dasharray:5}#mermaid-svg-b94f2OJpB3FtfpUO .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-b94f2OJpB3FtfpUO .error-icon{fill:#522}#mermaid-svg-b94f2OJpB3FtfpUO .error-text{fill:#522;stroke:#522}#mermaid-svg-b94f2OJpB3FtfpUO .edge-thickness-normal{stroke-width:2px}#mermaid-svg-b94f2OJpB3FtfpUO .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-b94f2OJpB3FtfpUO .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-b94f2OJpB3FtfpUO .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-b94f2OJpB3FtfpUO .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-b94f2OJpB3FtfpUO .marker{fill:#333}#mermaid-svg-b94f2OJpB3FtfpUO .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-b94f2OJpB3FtfpUO {color: rgba(0, 0, 0, 0.75);font: ;}
选择
不选择
opt6
opt4 + 8
opt5
最大值
即opt(6)=max{opt(5),opt(4)+8}
对于第五个数字“7”,可得到
#mermaid-svg-srM9dh1A65s1HKdo .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-srM9dh1A65s1HKdo .label text{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .node rect,#mermaid-svg-srM9dh1A65s1HKdo .node circle,#mermaid-svg-srM9dh1A65s1HKdo .node ellipse,#mermaid-svg-srM9dh1A65s1HKdo .node polygon,#mermaid-svg-srM9dh1A65s1HKdo .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-srM9dh1A65s1HKdo .node .label{text-align:center;fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .node.clickable{cursor:pointer}#mermaid-svg-srM9dh1A65s1HKdo .arrowheadPath{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-srM9dh1A65s1HKdo .flowchart-link{stroke:#333;fill:none}#mermaid-svg-srM9dh1A65s1HKdo .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-srM9dh1A65s1HKdo .edgeLabel rect{opacity:0.9}#mermaid-svg-srM9dh1A65s1HKdo .edgeLabel span{color:#333}#mermaid-svg-srM9dh1A65s1HKdo .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-srM9dh1A65s1HKdo .cluster text{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-srM9dh1A65s1HKdo .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-srM9dh1A65s1HKdo text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-srM9dh1A65s1HKdo .actor-line{stroke:grey}#mermaid-svg-srM9dh1A65s1HKdo .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-srM9dh1A65s1HKdo .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-srM9dh1A65s1HKdo #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-srM9dh1A65s1HKdo .sequenceNumber{fill:#fff}#mermaid-svg-srM9dh1A65s1HKdo #sequencenumber{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo #crosshead path{fill:#333;stroke:#333}#mermaid-svg-srM9dh1A65s1HKdo .messageText{fill:#333;stroke:#333}#mermaid-svg-srM9dh1A65s1HKdo .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-srM9dh1A65s1HKdo .labelText,#mermaid-svg-srM9dh1A65s1HKdo .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-srM9dh1A65s1HKdo .loopText,#mermaid-svg-srM9dh1A65s1HKdo .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-srM9dh1A65s1HKdo .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-srM9dh1A65s1HKdo .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-srM9dh1A65s1HKdo .noteText,#mermaid-svg-srM9dh1A65s1HKdo .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-srM9dh1A65s1HKdo .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-srM9dh1A65s1HKdo .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-srM9dh1A65s1HKdo .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-srM9dh1A65s1HKdo .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .section{stroke:none;opacity:0.2}#mermaid-svg-srM9dh1A65s1HKdo .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-srM9dh1A65s1HKdo .section2{fill:#fff400}#mermaid-svg-srM9dh1A65s1HKdo .section1,#mermaid-svg-srM9dh1A65s1HKdo .section3{fill:#fff;opacity:0.2}#mermaid-svg-srM9dh1A65s1HKdo .sectionTitle0{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .sectionTitle1{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .sectionTitle2{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .sectionTitle3{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-srM9dh1A65s1HKdo .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .grid path{stroke-width:0}#mermaid-svg-srM9dh1A65s1HKdo .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-srM9dh1A65s1HKdo .task{stroke-width:2}#mermaid-svg-srM9dh1A65s1HKdo .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .taskText:not([font-size]){font-size:11px}#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-srM9dh1A65s1HKdo .task.clickable{cursor:pointer}#mermaid-svg-srM9dh1A65s1HKdo .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-srM9dh1A65s1HKdo .taskText0,#mermaid-svg-srM9dh1A65s1HKdo .taskText1,#mermaid-svg-srM9dh1A65s1HKdo .taskText2,#mermaid-svg-srM9dh1A65s1HKdo .taskText3{fill:#fff}#mermaid-svg-srM9dh1A65s1HKdo .task0,#mermaid-svg-srM9dh1A65s1HKdo .task1,#mermaid-svg-srM9dh1A65s1HKdo .task2,#mermaid-svg-srM9dh1A65s1HKdo .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutside0,#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutside2{fill:#000}#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutside1,#mermaid-svg-srM9dh1A65s1HKdo .taskTextOutside3{fill:#000}#mermaid-svg-srM9dh1A65s1HKdo .active0,#mermaid-svg-srM9dh1A65s1HKdo .active1,#mermaid-svg-srM9dh1A65s1HKdo .active2,#mermaid-svg-srM9dh1A65s1HKdo .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-srM9dh1A65s1HKdo .activeText0,#mermaid-svg-srM9dh1A65s1HKdo .activeText1,#mermaid-svg-srM9dh1A65s1HKdo .activeText2,#mermaid-svg-srM9dh1A65s1HKdo .activeText3{fill:#000 !important}#mermaid-svg-srM9dh1A65s1HKdo .done0,#mermaid-svg-srM9dh1A65s1HKdo .done1,#mermaid-svg-srM9dh1A65s1HKdo .done2,#mermaid-svg-srM9dh1A65s1HKdo .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-srM9dh1A65s1HKdo .doneText0,#mermaid-svg-srM9dh1A65s1HKdo .doneText1,#mermaid-svg-srM9dh1A65s1HKdo .doneText2,#mermaid-svg-srM9dh1A65s1HKdo .doneText3{fill:#000 !important}#mermaid-svg-srM9dh1A65s1HKdo .crit0,#mermaid-svg-srM9dh1A65s1HKdo .crit1,#mermaid-svg-srM9dh1A65s1HKdo .crit2,#mermaid-svg-srM9dh1A65s1HKdo .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-srM9dh1A65s1HKdo .activeCrit0,#mermaid-svg-srM9dh1A65s1HKdo .activeCrit1,#mermaid-svg-srM9dh1A65s1HKdo .activeCrit2,#mermaid-svg-srM9dh1A65s1HKdo .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-srM9dh1A65s1HKdo .doneCrit0,#mermaid-svg-srM9dh1A65s1HKdo .doneCrit1,#mermaid-svg-srM9dh1A65s1HKdo .doneCrit2,#mermaid-svg-srM9dh1A65s1HKdo .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-srM9dh1A65s1HKdo .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-srM9dh1A65s1HKdo .milestoneText{font-style:italic}#mermaid-svg-srM9dh1A65s1HKdo .doneCritText0,#mermaid-svg-srM9dh1A65s1HKdo .doneCritText1,#mermaid-svg-srM9dh1A65s1HKdo .doneCritText2,#mermaid-svg-srM9dh1A65s1HKdo .doneCritText3{fill:#000 !important}#mermaid-svg-srM9dh1A65s1HKdo .activeCritText0,#mermaid-svg-srM9dh1A65s1HKdo .activeCritText1,#mermaid-svg-srM9dh1A65s1HKdo .activeCritText2,#mermaid-svg-srM9dh1A65s1HKdo .activeCritText3{fill:#000 !important}#mermaid-svg-srM9dh1A65s1HKdo .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-srM9dh1A65s1HKdo g.classGroup text .title{font-weight:bolder}#mermaid-svg-srM9dh1A65s1HKdo g.clickable{cursor:pointer}#mermaid-svg-srM9dh1A65s1HKdo g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-srM9dh1A65s1HKdo g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-srM9dh1A65s1HKdo .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-srM9dh1A65s1HKdo .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-srM9dh1A65s1HKdo .dashed-line{stroke-dasharray:3}#mermaid-svg-srM9dh1A65s1HKdo #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo .commit-id,#mermaid-svg-srM9dh1A65s1HKdo .commit-msg,#mermaid-svg-srM9dh1A65s1HKdo .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-srM9dh1A65s1HKdo g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-srM9dh1A65s1HKdo g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-srM9dh1A65s1HKdo g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-srM9dh1A65s1HKdo .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-srM9dh1A65s1HKdo .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-srM9dh1A65s1HKdo .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-srM9dh1A65s1HKdo .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-srM9dh1A65s1HKdo .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-srM9dh1A65s1HKdo .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-srM9dh1A65s1HKdo .edgeLabel text{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-srM9dh1A65s1HKdo .node circle.state-start{fill:black;stroke:black}#mermaid-svg-srM9dh1A65s1HKdo .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-srM9dh1A65s1HKdo #statediagram-barbEnd{fill:#9370db}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-state .divider{stroke:#9370db}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-srM9dh1A65s1HKdo .note-edge{stroke-dasharray:5}#mermaid-svg-srM9dh1A65s1HKdo .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-srM9dh1A65s1HKdo .error-icon{fill:#522}#mermaid-svg-srM9dh1A65s1HKdo .error-text{fill:#522;stroke:#522}#mermaid-svg-srM9dh1A65s1HKdo .edge-thickness-normal{stroke-width:2px}#mermaid-svg-srM9dh1A65s1HKdo .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-srM9dh1A65s1HKdo .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-srM9dh1A65s1HKdo .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-srM9dh1A65s1HKdo .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-srM9dh1A65s1HKdo .marker{fill:#333}#mermaid-svg-srM9dh1A65s1HKdo .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-srM9dh1A65s1HKdo {color: rgba(0, 0, 0, 0.75);font: ;}
选择
不选择
opt5
opt3 + 7
opt4
最大值
即opt(5)=max{opt(4),opt(3)+7}
综合上述,我们可以得到通项公式
opt(i)=max{opt(i-1),opt(i-2)+arr(i)}
利用C++编码进行计算,便可很方便地得到结果。
C++代码编写
// An highlighted block
#include <iostream>
using namespace std;
int max(int x,int y) //计算两个数的最大值函数
{//2020-9-19补充:c++中可以直接调用max函数,而不需要单独编写,所以本段可以去掉int z;if (x > y)z = x;elsez = y;return(z);
}
int dp_opt(int arr[], int i)//递归计算opt(i)
{int A, B, C;if (i == 0)return arr[0];elseif (i == 1)return max(arr[0], arr[1]);elseA = dp_opt(arr,i - 2) + arr[i];B = dp_opt(arr, i - 1);C = max(A, B);return C;
}
int main()
{int data[] = { 1,2,4,1,7,8,3 };//给出题目具体数值,代入dp_opt函数进行计算cout << dp_opt(data, 6);/*这里的6是指数组arr[]的长度,当数据量变化时,本应该写成数组长度,但由于笔者初学c++,尝试使用arr.lenth-1出错,所以暂时先用6代替*/
}
运行结果
运行结果为15,根据手动验算为1+4+7+3=15,程序运行结果正确。
当数据量变大时,如给出数据{1,2,5,8,6,4,3,5,2,6,7,8,10,12,6},则将代码中对应数据行更改,运行结果为45
读者可自行验算结果是否正确。
c++动态规划解决一系列数中互不相邻数字之和的最大值相关推荐
- 动态规划-不相邻数字之和的最大值
#include <iostream> #include <cstdio> #include <algorithm>using namespace std;int ...
- elementui 表格英文加数字排序_解决vue elementUI中table里数字、字母、中文混合排序问题...
1.使用场景 使用elementUI中的table时,给包含数字字母中文的名称等字段排序 例如:数字(0->9)->大写字母(A->Z)->小写字母(a->z)-> ...
- Java 特殊回文。123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输 ...
- 【Python蓝桥杯】特殊回文数 123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
最近在刷蓝桥杯题目,按题目做一下笔记整理,顺便分享交流一下,有更好的解决方案欢迎大家共同提出探讨,以下源代码为系统提交满分答案 特殊回文数 问题描述 资源限制 Python时间限制:5.0s. 问题描 ...
- 动态规划系列---求数组中两个元素差的最大值
题目 求数组中两个元素差的最大值(后面的元素减去前面的元素):对应实际生活中的股票买卖,找出一只股票走势里面可能的最大收益: 思路 类似于求数组连续和的最大值: 保存最大差值和最小值,遍历数组,如果 ...
- python各位数字之和为5的数_python计算各位数字之和
信息举报 时间:2021-02-03 本页为您甄选多篇描写python计算各位数字之和,python计算各位数字之和精选,python计算各位数字之和大全,有议论,叙事 ,想象等形式.文章字数有400 ...
- 算法编程:找一个数在一系列数中出现次数一半以上
题目: 春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效. 给 ...
- python输入一个三位数的整数、求该数的3个数字之和_Python3 数字(Number)
Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象将被创建: var1 = 1 var ...
- 剑指 Offer II 006. 排序数组中两个数字之和
由于题目中数组已经排好序,所以可以用双指针 双指针: i=0,j=nums.size( )-1 当 i<j 时循环,当目标小于target时i++,当目标大于target时,j-- 当目标小于t ...
最新文章
- iptables实现路由转发
- 【BZOJ3555】[Ctsc2014]企鹅QQ hash
- python爬取数据存入mysql
- 【Python】Flask框架系列(二):安装、配置文件、增删改查
- html5 扩展属性,HTML5属性的介绍和扩展.doc
- 美国运营商Verizon宣布5月16日开始发售三星5G手机 售价1300美元起
- [Ubuntu] 使用 ibus 输入汉字
- FFMPEG结构体分析:AVIOContext
- Jenkins+CCNET的另类部署图
- 写单例模式以及防止反射破坏
- CentOS 7 linux bridge 配置vlan
- 快速创建ppt中的动画效果图。
- HCNE复习参考(上)
- 【OpenCV】 - 图像分割之分水岭算法,watershed()函数的输出,对marker和image的改变
- 电脑白屏,电脑白屏了按哪个键可以修复?
- 地球动力学类毕业论文文献都有哪些?
- ConcurrentHashMap源码解读
- hadoop中使用hprof工具进行性能分析
- 记一次关于App页面响应时间的测试
- 细说HTML头部标签
热门文章
- shell wait的用法及使用“和wait”并行运行
- vs2015 x86的Qt项目迁移到vs2017 x64平台
- Zoho One平台正式发布 或将颠覆企业软件和SaaS行业
- 【Alpha阶段】第四次scrum meeting
- cxxxxx和xxxxx.h的区别
- 单片机及接口课程设计报告-------基于音乐播放器
- TECH数字中国2021技术年会 | 神州控股、神州信息、神州数码集团合力打造 “神州信创云”
- 2018年第九届蓝桥杯真题解析 | 日志统计【Python】
- 营销之父科特勒万字演讲实录:营销的未来(含PPT和视频回放)
- ad16怎么画弧线_在AD软件中如何实现圆弧走线?