题意:给出一个n*m的地图,每个位置含有xi的金矿和yi的银矿。金矿都要运到地图的西边,银矿都要运到地图的南边。
每个位置可以建铁路,但是只能建东-西或者南-北中的一个,也就是所有铁路不能交叉,而且矿石不能倒车,也就是必须沿直线运到目的地。
求一种建铁路的方式使得最后得到的矿石最多?输出矿石数量。
思路:问题的本质在于,对于一个格子,要么是向左要么向上:
(1)若一旦确定取该格子的矿金矿,则该格子左侧的都要取金矿;
(2)若一旦确定取该格子的矿银矿,则该格子上侧的都要取银矿;
看透这一步,就可以DP了。。。其实直接递推也挺简单的。。。
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include