lightoj 1071 DP/网络流

如果在赛场上告诉我,这道题就是暴力的记忆化搜索,我肯定就搞了

如果在赛场上告诉我,线段树lazy标记是可以过的,我肯定现场就学了就过了

哎,还是实力不够,校赛给我了一发补题的机会也挺好的


题意:n*m的矩阵,每个点上有权值,一个人从左上角到右下角遍历两次,若两条路径有重复点,则只计算一次,求最大的收益,n和m的最大范围100


看到这种题,我知道是DP

正常情况的设置是:dp【i】【j】【k】【l】为第一个人走到了【i】【j】这个点,第二个走到【k】【l】,所能够得到的最大价值

但是范围在100,这样开数组是爆炸的,能不能少一维


注意到题意:只能从左上角走到右下角,意味着总步数是固定的:n+m-2

所以可以用总步数和两个人在x方向的步数,来计算y方向的步数从而减少一维变量

即定义为:dp【step】【x1】【x2】为当前总共走了step步,第一个人的坐标是【x1】【step-x1】,第二个人的坐标是【x2】【step-x2】所能得到的最大价值


因此,剩下的方向:怎么得到最大价值:记忆化搜索

两个人最多四种方向,依次判断就好:AB下;AB右;A下B右;A右B下


剩下的代码就好写了,初始化为-1,然后dfs记忆化搜索,只需要判断4种方向能不能走(有没有点在边界上判断一发即可)

还是太弱,贴上我谷巨的博客压压惊

膜拜我谷


另外呢,这个题如果把2次,改成3次,甚至更多的K次,用dp就不方便了

就需要用最小费用最大流模板处理最大费用最大流问题,暂时还不会,留个坑在这吧

全部评论

相关推荐

沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务