首页 > 其他 > 详细

今天开始写dp

时间:2018-01-29 19:52:58      阅读:246      评论:0      收藏:0      [点我收藏+]

其实昨天也在写,只是全都wa了。。。好不容易过了滑雪。总的来讲是记忆化搜索与dp,卡在了递推的写法上。还是没有具体理解。最后莫名其妙写成了dfs,果不其然超时了。目前理解是,开始所有点清0从一个起始点开始,起始点vis为四周比他低的点中vis最大值加一。开始所有点都为0?没关系 dp(x + dx[i],y + dy[i]); vis[x][y] = max(vis[x][y],vis[x + dx[i]][y + dy[i]]+ 1);dxdy只是简单的循环遍历。这样每个都能找下去,直到没有符合的点。 if(vis[x][y] > 0)
 return vis[x][y];还有这一句,放在递归开头。我这里写的有些多余,对于全局数组记录,return值没有必要,为空也行。不过有返回值也可以在递归中写的方便一点,不用分成两句。

又写了道并查集,中间虽然问题不断,不过最后也a了,对并查集的理解并没有问题。

今天开始写dp

原文:https://www.cnblogs.com/q1321273664/p/8379166.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!