c++动态规划解决一系列数中互不相邻数字之和的最大值

  • 问题描述
    • 解决思路
    • C++代码编写
    • 运行结果

问题描述

给定一系列数字{1,2,4,1,7,8,3},要求其中互不相邻的数字之和的最大值。

解决思路

针对每一个数字,可以分为选择或者不选择的情况,由于其中会存在包含关系,所以我们从最后一个数字开始分析。假设i个数中不相邻数字之和的最大值为opt(i),第i个数字为arr(i).则对于第七个数字“3”,可以分为两种情况:

  1. 选择第七个数字“3” ,那么第六个数字“8”一定不能选,七个不相邻数字之和的最大值opt(7)变为前五个不相邻数字之和的最大值opt(5)和3的和,即opt(5)+3
  2. 不选第七个数字“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++动态规划解决一系列数中互不相邻数字之和的最大值相关推荐

  1. 动态规划-不相邻数字之和的最大值

    #include <iostream> #include <cstdio> #include <algorithm>using namespace std;int ...

  2. elementui 表格英文加数字排序_解决vue elementUI中table里数字、字母、中文混合排序问题...

    1.使用场景 使用elementUI中的table时,给包含数字字母中文的名称等字段排序 例如:数字(0->9)->大写字母(A->Z)->小写字母(a->z)-> ...

  3. Java 特殊回文。123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

    问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输 ...

  4. 【Python蓝桥杯】特殊回文数 123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

    最近在刷蓝桥杯题目,按题目做一下笔记整理,顺便分享交流一下,有更好的解决方案欢迎大家共同提出探讨,以下源代码为系统提交满分答案 特殊回文数 问题描述 资源限制 Python时间限制:5.0s. 问题描 ...

  5. 动态规划系列---求数组中两个元素差的最大值

    题目 求数组中两个元素差的最大值(后面的元素减去前面的元素):对应实际生活中的股票买卖,找出一只股票走势里面可能的最大收益: 思路 类似于求数组连续和的最大值:  保存最大差值和最小值,遍历数组,如果 ...

  6. python各位数字之和为5的数_python计算各位数字之和

    信息举报 时间:2021-02-03 本页为您甄选多篇描写python计算各位数字之和,python计算各位数字之和精选,python计算各位数字之和大全,有议论,叙事 ,想象等形式.文章字数有400 ...

  7. 算法编程:找一个数在一系列数中出现次数一半以上

    题目: 春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效. 给 ...

  8. python输入一个三位数的整数、求该数的3个数字之和_Python3 数字(Number)

    Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象将被创建: var1 = 1 var ...

  9. 剑指 Offer II 006. 排序数组中两个数字之和

    由于题目中数组已经排好序,所以可以用双指针 双指针: i=0,j=nums.size( )-1 当 i<j 时循环,当目标小于target时i++,当目标大于target时,j-- 当目标小于t ...

最新文章

  1. iptables实现路由转发
  2. 【BZOJ3555】[Ctsc2014]企鹅QQ hash
  3. python爬取数据存入mysql
  4. 【Python】Flask框架系列(二):安装、配置文件、增删改查
  5. html5 扩展属性,HTML5属性的介绍和扩展.doc
  6. 美国运营商Verizon宣布5月16日开始发售三星5G手机 售价1300美元起
  7. [Ubuntu] 使用 ibus 输入汉字
  8. FFMPEG结构体分析:AVIOContext
  9. Jenkins+CCNET的另类部署图
  10. 写单例模式以及防止反射破坏
  11. CentOS 7 linux bridge 配置vlan
  12. 快速创建ppt中的动画效果图。
  13. HCNE复习参考(上)
  14. 【OpenCV】 - 图像分割之分水岭算法,watershed()函数的输出,对marker和image的改变
  15. 电脑白屏,电脑白屏了按哪个键可以修复?
  16. 地球动力学类毕业论文文献都有哪些?
  17. ConcurrentHashMap源码解读
  18. hadoop中使用hprof工具进行性能分析
  19. 记一次关于App页面响应时间的测试
  20. 细说HTML头部标签

热门文章

  1. shell wait的用法及使用“和wait”并行运行
  2. vs2015 x86的Qt项目迁移到vs2017 x64平台
  3. Zoho One平台正式发布 或将颠覆企业软件和SaaS行业
  4. 【Alpha阶段】第四次scrum meeting
  5. cxxxxx和xxxxx.h的区别
  6. 单片机及接口课程设计报告-------基于音乐播放器
  7. TECH数字中国2021技术年会 | 神州控股、神州信息、神州数码集团合力打造 “神州信创云”
  8. 2018年第九届蓝桥杯真题解析 | 日志统计【Python】
  9. 营销之父科特勒万字演讲实录:营销的未来(含PPT和视频回放)
  10. ad16怎么画弧线_在AD软件中如何实现圆弧走线?