洛谷P1941 [NOIP2014 提高组] 飞扬的小鸟
这道题做了一上午。
先写个80分做法,就是暴力dp,四个点超时但也是最容易想到的。
f[i,j]表示到第i列时高度为j时跳的最少次数。
这里的j我们从b[i][0]+1开始到b[i][1]-1,只考虑每一列不被水管遮挡的位置的情况
一.先考虑向上跳
j分两类讨论
1.j!=m时,就是一个完全背包,枚举k, k*x[i-1]<j时,即前一列跳k次到达当前这一列
2.j==m时,前一列跳若干次一直跳到高度m(注意前一列高度为m也能跳过来,相当于平移),跳到m可以刚好跳到或者跳出了被挡在m。
原创
2022-03-28 13:45:20 ·
426 阅读 ·
0 评论