HBC229312水图,深度优先搜索(DFS),搜索防御法阵题解

一点都不欢乐 算法基础篇 55 0
全网最全C++题库,助您快速提升编程技能!题库丰富多样,涵盖各个领域,让您在练习中不断成长!
小宝悄悄溜进了敌人的阵地,准备破坏敌人的城墙和防御法阵,破坏防御法阵可以给小宝带来经验值,M块城墙,他可以从任意一点开始不断破坏两侧相邻的城墙,每块城墙下方刻有诸多防御法阵,每个法阵需要耗费不同的时间来破坏,同时,为了防止对手发现,小宝在每块城墙下仅能停留。T秒,经过的时间忽略不计,显然,最终的经验值还和破坏顺序有关,现在,小宝想知道他能得到的经验值最大是多少。

小宝悄悄溜进了敌人的阵地,准备破坏敌人的城墙和防御法阵,破坏防御法阵可以给小宝带来经验值。 敌人的城墙分为  N N 块,这些城墙排成一排,不成环。小宝可以破坏  M M 块城墙,他可以从任意一点开始不断破坏两侧相邻的城墙。 每块城墙下方刻有诸多防御法阵。每个法阵需要耗费不同的时间来破坏。同时,为了防止对手发现,小宝在每块城墙下仅能停留  T T 秒。经过的时间忽略不计。 破坏每个法阵会带来不同的经验值。并且,当相邻的城墙已经被破坏时,经验值会增加。 举例来讲,假设小宝在某块城墙收获  k k 点经验值,但该城墙一侧(按照破坏顺序的规则,显然只有一侧可能被破坏)收获经验值为 k_1 k 1 ​ , 那么这块城墙的经验数变为 k+k_1 k+k 1 ​  。而当某块城墙一侧有n块城墙被破坏,其实际收获的经验值为  k+k_1+k_2+...+k_n k+k 1 ​ +k 2 ​ +...+k n ​ 一段城墙得到的经验值为这一段城墙中每一段得到的经验值之和。 显然,最终的经验值还和破坏顺序有关。 现在,小宝想知道他能得到的经验值最大是多少。 Note:上述的 k_1,k_2,...,k_n k 1 ​ ,k 2 ​ ,...,k n ​ 是指城墙左侧(或右侧)连续 n n个城墙被破坏时获得的经验值。 大样例:https://uploadfiles.nowcoder.com/files/20211016/damage.zip

HBC229312水图,深度优先搜索(DFS),搜索防御法阵题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
全网最全C++题库,助您挑战自我,突破极限,成为编程领域的佼佼者!

标签: HBC229312水图 深度优先搜索(DFS) 搜索防御法阵题解