摘要: ACM ICPC South American Regional 2008题目大意:给定一个矩阵,每个元素有一个值,每次取一个元素都会使得当前元素左右两个相邻项变为零,上下两行变为零,如图阴影部分所示,求最大能取到的值之和。解法:我竟然没有看出来是双重动规,果然太久不做动规了。当时还脑残的写了个四维的(虽然有三维的取值范围都是0,1),最后降到三维,然后wa了一次改了改之后AC了。正确的解法应该是每列dp一次,算出当前行的最优值,然后再用这个值按行dp。f[i]=max{f[i-1],f[i-2]+a[i]}空间上其实可以优化很多,dp数组只要开到3就好了,滚动一下即可。我没有滚动,直接开了两 阅读全文
posted @ 2012-05-02 01:07 jzlikewei 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题目是ACM ICPC South American Regional 2008的原题。题目很水:给定个序列xi,yi,其中xi代表编号xi的车子在第i名,这个名次较发车时的名次而言,变动了yi位,yi>0表示车子名次上升了yi名,<0表示下降了yi名,=0不变。求出发车时的名次。如果无法求出,则输出-1.做法:扫描一遍恢复即可,如果一个名次上多个车子,则-1.一遍AC 1 #include <iostream> 2 #include <cstdio> 3 #include <vector> 4 #include <cmath> 5 阅读全文
posted @ 2012-05-02 00:38 jzlikewei 阅读(176) 评论(0) 推荐(0) 编辑