码迷,mamicode.com
首页 > 其他好文 > 详细

p1884

时间:2018-10-04 14:56:39      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:距离   com   动态规划   技术分享   相加   时间   图片   ima   注意   

十月的停课集训开始了,祝我顺利.

半上午时间搞了这道题,感觉非常的值得.

技术分享图片

技术分享图片

和当年做的某两题题目类似吧,但是又有很大区别.可以想到两个点间的距离是max(Δx,Δy);

可以很快想到暴力算法:枚举每对点并计算距离后相加.但是本题的点数是<=m*n的,这个算法就是n*n*m*m,GG

刚开始没有注意到可以向四面八方跑,只能上下左右的话我会写动态规划:记录每一列和每一行的点数.用m*n算出所有点到(1,1)的距离和d[1][1],那么d[i][1]=d[i-1][1]+第i-1行及以上的点数-第i行及以下的点数,因为上面的每个点到这个点的距离比之前多了1,而这一行与下面的点到这个点距离都小了1.而d[i][f]=d[i][f-1]+第f-1列及以前的点数-第f列及以后的点数.原理和刚才一样.

然而本题要求斜着走也为1,向下走的时候

p1884

标签:距离   com   动态规划   技术分享   相加   时间   图片   ima   注意   

原文地址:https://www.cnblogs.com/qywyt/p/9742208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!