洛谷 P1006 传纸条 题解

博客介绍了如何解决洛谷P1006题目,通过动态规划优化大力搜索的方法,降低时间复杂度至O(n²m²),空间复杂度同样为O(n²m²)。当n,m≤100时,进一步优化算法,时间复杂度和空间复杂度变为O(nm×(n+m))。" 121770705,5631638,持续交付实践:SpringBoot应用+K8S云原生部署,"['持续交付', '云原生', 'Kubernetes', '容器化', 'Jenkins', 'Jira', 'SpringBoot', 'Docker']
摘要由CSDN通过智能技术生成

博客园同步

原题链接

本题 n ≤ 100 n \leq 100 n100 ,我们先分析一下 大力搜索 的效率。

众所周知, 从 1 , 1 1,1 1,1 走到 n , m n,m n,m每次只能向右走或向下走) 的方案数为:

C n + m m C_{n+m}^m Cn+mm

简单解释:共走 n + m n+m n+m 步,其中 n n n 步向下, m m m 步向右。而:

C n + m m = C n + m n C_{n+m}^m = C_{n+m}^n Cn+mm=Cn+mn

组合即可。

那么,搜索的时间复杂度 至少是 O ( C 2 × n n ) O(C_{2 \times n}^n) O(C2×nn).

大概算一下:

C 200 100 = 200 ! 100 ! × 100 ! C_{200}^{100}=\frac{200!}{100! \times 100!} C200100=100!×100!200!

这个数很大,是我们无法接受的。

所以, 下面考虑 d p dp dp.

d p i , j , k , l dp_{i,j,k,l} dpi,j,k,l 表示 从左上角到右下角经过 i , j i,j i,j,再从右下角到左上角经过 k , l k,l k,l的最大路径。

首先有一个结论: d p i , j , k , l = d p k , l , i , j dp_{i,j,k,l}=dp_{k,l,i,j} dpi,j,k,l

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值