P1941 飛揚的小鳥

2022-04-06 14:38:46 字數 729 閱讀 4084

miku

定義\(f_\)為到達(i,j)的最小代價

然後對於從下往上,因為可以點無數次,是個完全揹包,從上往下就一次,01揹包,飛到天花板上的,拽下來

水管特判

#include#include#includeusing namespace std;

const int maxn=10005;

int n,m,k;

int x[maxn],y[maxn];

int l[maxn],h[maxn];

int f[maxn];

int dp[maxn][2005];

int p,a,b;

int ans=1061109567;

int main()

for(int i=1;i<=k;++i)

for(int i=1;i<=m;++i)

for(int i=1;i<=n;++i)

for(int j=m+1;j<=m+x[i];++j)

for(int j=m-y[i];j;--j)

for(int j=1;j<=l[i];++j)

for(int j=h[i];j<=m;++j)

} for(int i=1;i<=m;++i)

if(ans<1061109567)else

cout

} return 0;

}

P1941 飛揚的小鳥

定義dp i j 表示走到座標 i,j 時的最小點按次數。考慮遞推關係,能走到座標 i,j 一種情況是從前乙個位置下降上公升的轉移是乙個完全揹包,下降是01揹包。include using namespace std define ll long long define inf 0x3f3f3f d...

P1941 飛揚的小鳥

動態規劃,設 f i j 表示小鳥到達座標 i j 所要點選螢幕的最少次數,如果小鳥無法到達 i j 則 f i j inf。轉移,考慮小鳥上公升,和下降兩種狀態。因為,在乙個點上公升次數不限,下降只有一次。所以上公升可以用 完全揹包 的狀態轉移,下降用 01揹包 轉移。特判,當小鳥到達頂上 m 時...

P1941 飛揚的小鳥

為了簡化問題,我們對遊戲規則進行了簡化和改編 遊戲介面是乙個長為n 高為 m 的二維平面,其中有k 個管道 忽略管道的寬度 小鳥始終在遊戲介面內移動。小鳥從遊戲介面最左邊任意整數高度位置出發,到達遊戲介面最右邊時,遊戲完成。小鳥每個單位時間沿橫座標方向右移的距離為1 豎直移動的距離由玩家控制。如果點...