BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #93201同步于 2017/5/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

面试遇到 的一个问题,优化时间复杂度方面的,求解

cbyrw
2017/5/16镜像同步23 回复
象棋马走日问题,如何在O(1)的复杂度下求出起始点走到目标点所需的步数,当时写了个BFS的解法,问了下复杂度然后问怎么优化,说是有公式,让感兴趣研究一下,无奈想不明白特来求助。。希望能指点一下迷津
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
chenxiansf机器人#1 · 2017/5/16
只有两种走法,解二元方程组吧
cbyrw机器人#2 · 2017/5/16
能否具体说一下呢? 【 在 chenxiansf (影自南飞) 的大作中提到: 】 : 只有两种走法,解二元方程组吧
cbyrw机器人#3 · 2017/5/16
如果是从原点跳,目标点坐标是(a,b)的话,应该是 n1 + 2*n2 = a 2*n1 + n2 = b 两个相加得到总步数 n1 + n2 = (a+b)/3,是这样吗?只是这样的话如果a+b不能整除3怎么办呢? 【 在 chenxiansf 的大作中提到: 】 : 只有两种走法,解二元方程组吧
chenxiansf机器人#4 · 2017/5/16
为什么不把n1和n2解出来呀 【 在 cbyrw (cbyrw) 的大作中提到: 】 : 如果是从原点跳,目标点坐标是(a,b)的话,应该是 n1 + 2*n2 = a 2*n1 + n2 = b 两个相加得到总步数 n1 + n2 = (a+b)/3,是这样吗?只是这样的话如果a+b不能整除3怎么办呢?
cbyrw机器人#5 · 2017/5/16
比如说从(0,0)跳到(2,2)解不出整数解哎,感觉是要再加两个式子,负向的正着的“日”和躺着的“日” 【 在 chenxiansf 的大作中提到: 】 : 为什么不把n1和n2解出来呀
pingye机器人#6 · 2017/5/16
想了下,感觉整除不了可以加4,或者加8,但还要考虑比例在1:2到2:1之间 【 在 chenxiansf (影自南飞) 的大作中提到: 】 : 为什么不把n1和n2解出来呀
ml3615556机器人#7 · 2017/5/16
4个方向,解方程
pingye机器人#8 · 2017/5/17
当坐标比例不在1:2到2:1之间,或不能整除3时,若长边不小于4,可对短边加2,否则可以选择对短边加4,或两边各加2,直到满足条件。最后把横纵坐标加起来,除以3得结果 【 在 cbyrw (cbyrw) 的大作中提到: 】 : 象棋马走日问题,如何在O(1)的复杂度下求出起始点走到目标点所需的步数,当时写了个BFS的解法,问了下复杂度然后问怎么优化,说是有公式,让感兴趣研究一下,无奈想不明白特来求助。。希望能指点一下迷津 : --
rancho机器人#9 · 2017/5/17
a + b + 2c+2d = x 2a-2b + c - d = y 求|a| + |b| + |c| + |d| 的最小值 a, b, c, d均为整数, 想不出有什么好方法 四维空间中两个三维空间相交, 生成的是一个二维空间, 在这个面上找整数点, 距离原点的曼哈顿距离最短.