HDU 1176 免费馅饼
Posted jpphy0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1176 免费馅饼相关的知识,希望对你有一定的参考价值。
链接
免费馅饼 - http://acm.hdu.edu.cn/showproblem.php?pid=1176
分析
- 模型 - 横轴为位置,纵轴为时间;初始位置为红色,馅饼分布在网格中。
- 动态问题静态化
- 图中蓝色的馅饼接不到
- 虚线范围内的都能接到
- 状态及分类
- 设向右移动为1,向左移动为-1,不动为0,则 { … , 1 , … , − 1 , … , 0 , … ⏞ T 个 } \\{\\overbrace{…,1,…,-1,…,0,…}^{T个}\\} {…,1,…,−1,…,0,… T个}为T秒末的状态
- (T, X)表示T秒末在X位置上,这表示了一类状态
- 末状态可以分为11类
- 递推
-
到哪里去?
- 无法空间优化
- 具体过程
( 0 , 5 ) ⇒ (0,5)\\Rightarrow (0,5)⇒ ( 1 , 4 ) 、 ( 1 , 5 ) 、 ( 1 , 6 ) ⇒ (1,4)、(1,5)、(1,6)\\Rightarrow (1,4)、(1,5)、(1,6)⇒ ( 2 , 3 ) 、 ( 2 , 4 ) 、 ( 2 , 5 ) 、 ( 2 , 6 ) 、 ( 2 , 7 ) ⇒ (2,3)、 (2,4)、(2,5)、(2,6)、(2,7)\\Rightarrow (2,3)、(2,4)、(2,5)、(2,6)、(2,7)⇒ ( 3 , 2 ) 、 ( 3 , 3 ) 、 ( 3 , 4 ) 、 ( 3 , 5 ) 、 ( 3 , 6 ) 、 ( 3 , 7 ) 、 ( 3 , 8 ) ⇒ (3,2)、 (3,3)、 (3,4)、(3,5)、(3,6)、(3,7)、(3,8)\\Rightarrow (3,2)、(3,3)、(3,4)、(3,5)、(3,6)、(3,7)、(3,8)⇒ ( 4 , 1 ) 、 ( 4 , 2 ) 、 ( 4 , 3 ) 、 ( 4 , 4 ) 、 ( 4 , 5 ) 、 ( 4 , 6 ) 、 ( 4 , 7 ) 、 ( 4 , 8 ) 、 ( 4 , 9 ) ⇒ (4,1)、(4,2)、 (4,3)、 (4,4)、(4,5)、(4,6)、(4,7)、(4,8)、(4,9)\\Rightarrow (4,1)、(4,2)、(4,3)、(4,4)、(4,5)、(4,6)、(4,7)、(4,8)、(4,9)⇒ ( 5 , 0 ) 、 ( 5 , 1 ) 、 ( 5 , 2 ) 、 ( 5 , 3 ) 、 ( 5 , 4 ) 、 ( 5 , 5 ) 、 ( 5 , 6 ) 、 ( 5 , 7 ) 、 ( 5 , 8 ) 、 ( 5 , 9 ) 、 ( 5 , 10 ) ⇒ (5,0)、(5,1)、(5,2)、 (5,3)、 (5,4)、(5,5)、(5,6)、(5,7)、(5,8)、(5,9)、(5,10)\\Rightarrow (5,0)、(5,1)、(5,2)、(5,3)、(5,4)、(5,5)、(5,6)、(5,7)、(5,8)、(5,9)、(5,10)⇒ … … …… ……
-
从哪里来?
- 空间可优化,但边界处理复杂
- 顺序
( 0 , 5 ) ⇒ \\xcancel{(0,5)\\Rightarrow} (0,5)⇒ ( 1 , 4 ) 、 ( 1 , 5 ) 、 ( 1 , 6 ) ⇒ (1,4)、(1,5)、(1,6)\\Rightarrow (1,4)、(1,5)、(1,6)⇒ ( 2 , 3 ) 、 ( 2 , 4 ) 、 ( 2 , 5 ) 、 ( 2 , 6 ) 、 ( 2 , 7 ) ⇒ (2,3)、 (2,4)、(2,5)、(2,6)、(2,7)\\Rightarrow (2,3)、(2,4)、(2,5)、(2,6)、(2,7)⇒ ( 3 , 2 ) 、 ( 3 , 3 ) 、 ( 3 , 4 ) 、 ( 3 , 5 ) 、 ( 3 , 6 ) 、 ( 3 , 7 ) 、 ( 3 , 8 ) ⇒ (3,2)、 (3,3)、 (3,4)、(3,5)、(3,6)、(3,7)、(3,8)\\Rightarrow (3,2)、(3,3)、(3,4)、(3,5)、(3,6)、(3,7)、(3,8)⇒ ( 4 , 1 ) 、 ( 4 , 2 ) 、 ( 4 , 3 ) 、 ( 4 , 4 ) 、 ( 4 , 5 ) 、 ( 4 , 6 ) 、 ( 4 , 7 ) 、 ( 4 , 8 ) 、 ( 4 , 9 ) ⇒ (4,1)、(4,2)、 (4,3)、 (4,4)、(4,5)、(4,6)、(4,7)、(4,8)、(4,9)\\Rightarrow (4,1)、(4,2)、(4,3)、(4,4)、(4,5)、(4,6)、(4,7)、(4,8)、(4,9)⇒ ( 5 , 0 ) 、 ( 5 , 1 ) 、 ( 5 , 2 ) 、 ( 5 , 3 ) 、 ( 5 , 4 ) 、 ( 5 , 5 ) 、 ( 5 , 6 ) 、 ( 5 , 7 ) 、 ( 5 , 8 ) 、 ( 5 , 9 ) 、 ( 5 , 10 ) ⇒ (5,0)、(5,1)、(5,2)、 (5,3)、 (5,4)、(5,5)、(5,6)、(5,7)、(5,8)、(5,9)、(5,10)\\Rightarrow (5,0)、(5,1)、(5,2)、(5,3)、(5,4)、(5,5)、(5,6)、(5,7)、(5,8)、(5,9)、(5,10)⇒ … … …… ……
-
- 末位置看成初始位置
- 11个初始位置能对应11类末状态
- 末位置在原初始位置的那些路径与原始问题的路径一一对应
- 从哪里来?
- 空间可优化,代码简洁
- 递推过程
( 0 , 0 ) 、 ( 0 , 1 ) 、 ( 0 , 2 ) 、 ( 0 , 3 ) 、 ( 0 , 4 ) 、 ( 0 , 5 ) 、 ( 0 , 6 ) 、 ( 0 , 7 ) 、 ( 0 , 8 ) 、 ( 0 , 9 ) 、 ( 0 , 10 ) (0,0)、(0,1)、(0,2)、 (0,3)、 (0,4)、\\color{red}{(0,5)}\\color{black}{、(0,6)、(0,7)、(0,8)、(0,9)、(0,10)} (0,0)、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7)、(0,8)、(0,9)、(0,10) ( 1 , 0 ) 、 ( 1 , 1 ) 、 ( 1 , 2 ) 、 ( 1 , 3 ) 、 ( 1 , 4 ) 、 ( 1 , 5 ) 、 ( 1 , 6 ) 、 ( 1 , 7 ) 、 ( 1 , 8 ) 、 ( 1 , 9 ) 、 ( 1 , 10 ) ⇑ (1,0)、(1,1)、(1,2)、 (1,3)、 (1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)、(1,10)\\Uparrow (1,0)、(1,1)、(1,2)、(1,3)、(1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)、(1,10)⇑ ( 2 , 0 )以上是关于HDU 1176 免费馅饼的主要内容,如果未能解决你的问题,请参考以下文章