- 最后登录
- 2019-10-22
- 在线时间
- 236 小时
- 阅读权限
- 30
- 注册时间
- 2009-4-16
- 积分
- 900
- 帖子
- 698
- 精华
- 1
- UID
- 87298
- 性别
- 保密
- 积分
- 900
- 帖子
- 698
- 精华
- 1
- UID
- 87298
- 性别
- 保密
|
给定一个不超过2000*2000的网格,你在最左下角的位置(即(0,0)点),你的目的地在(x,y)。要求你的路线不得经过同一个交叉点两次,且不允许左转(题目背景让这个条件顺理成章:街道靠右行,左转不方便),问合法的路线共有多少种。题目难点就是你不一定要走最近的路,完全允许你绕上一大圈;这破坏了有序性,很难构造出递推公式或动态规划模型。稍微画一下图,我们发现了一些显然但很有启发性的规律:每一次右转后,你左手边方向的所有区域都不能再走了,这很可能产生出规模更小的子问题来。另外,所有合法路线必然是有如螺旋线一样的一圈一圈绕着终点走,这种隐藏的有序性也为动态规划提供了可能。
高手们,你们的show time到了~~~~~~~~~~~~~
吼吼~~~~~~~~~
[ 本帖最后由 Osullivan 于 2009-6-10 20:37 编辑 ] |
|