DP - 2016网易杭研笔试题A

2016网易杭研笔试题A

Problem's Link

----------------------------------------------------------------------------

Mean:

有一个边长为n的立方体,内部的每一个小立方体内有一个数字。如果取了当前这个小立方体,则小立方体的:

1.上下相邻两层将会消失;

2.前后相邻两列将会消失;

3.左右相邻两个将会消失;

找出一种取法,使得取到的数的sum最大,输出sum。

analyse:

现场面试时挂在这题上了,想了五分钟没想出来,面试官就不让想了TAT

回来想了一下,是个简单题,当时现场面试还是有点紧张了,只想出了二维的做法.

对于这题,关键的地方在于找对DP的顺序:点-->线-->面

首先考虑规则3(左右相邻两个将会消失),可以将3维dp压缩到2维,且不会破环约束条件;

再来考虑规则2(前后相邻两列将会消失),可以将2维dp压缩到1维,且不会破环约束条件;

最后对1维的数组在进行一次dp,结果即为答案.

看着挺复杂,想到了就是个大水题.

Time complexity: O(N^3)

view code

));
       ;;;);
       ;;);
       ;)
               )));
       ;;;;

*/

上一篇:查看mysql表结构和表创建语句的方法(转)


下一篇:[mysql]查看mysql执行情况的几种方法