最佳游览个人见解及最大子段和认识
讲解思路篇
首先分析题目
| 游客在风景线上只能从西走到东,林荫道上则可以任意行走。 |
|---|
也就是说,在东西(行)方向上只能由西向东走,而在南北(列)方向上可以自由选择一个风景。既然要求最大值,那在每一列上肯定都要做到最优,即求最大值。
for (int i = 1; i <= n; i++) {
int maxn;
scanf("%d", &maxn);
a[i] = max(a[i], maxn);
}
| 每列最大值已求出,回看题目。 | 游客可以从旅游城的任一个十字路口开始游览,在任一个十字路口结束游览。 |
|---|
看到这里,题目便简化为了在一条路线中找出一段连续的和最大的子路线,即最佳游览路线————最大子段和。
| 附题目 | 最大子段和 |
|---|
至此,思路及关键代码已经梳理完毕,接下来就是愉快敲代码了。
注:本人第一篇题解,杜绝抄袭,核心代码前文已给出,所以不放代码了。