今天上机的时候没有什么题给我留下深刻的印象,倒是我老铁黄涵给我出的题教给我一些。
这道题是这样的:
三角数塔问题
设有一个三角形的数塔,顶点为根结点,每个结点有一个整数值。从顶点出发,可以向左走或向右走,如图所示:
要求从根结点开始,请找出一条路径,使路径之和最大,只要输出路径的和。
这道题我思考了好久,一直没有想出来,觉得相当难,因为穷举的话会超时,不用穷举就感觉无法走下去,好像是一道无解题。对此,我懵了好几天。
然后黄涵就提醒我可以反着来计算。仔细想想,确实。走到这个数,只有两个选择,向左或向右;那么,我们就把大的那个数挑出来,加到这个数上。那么,把一行都这么处理的话,等于说是消去了一行。以此推类,到最后答案就出来了。
其实感觉吧,很多题目都可以用反着推推出来的,这个好像也是一种思维吧。