定義dp[i][j]表示走到座標(i,j)時的最小點按次數。考慮遞推關係,能走到座標(i,j),一種情況是從前乙個位置下降上公升的轉移是乙個完全揹包,下降是01揹包。
#include using namespace std;
#define ll long long
#define inf 0x3f3f3f
#define maxn 10010
int n,m,k;
int dp[maxn][2010];
struct pipe
b[maxn];
struct node
a[maxn];
bool f[maxn];
int main()
for(int i=1;i<=n;i++)
for(int i=1;i<=k;i++)
for(int i=1;i<=n;i++)
}if(flag!=0) break;
}int ans=0;
for(int i=1;i<=flag;i++) ans+=f[i];
printf("0\n%d\n",ans);
}return 0;
}
P1941 飛揚的小鳥
miku 定義 f 為到達 i,j 的最小代價 然後對於從下往上,因為可以點無數次,是個完全揹包,從上往下就一次,01揹包,飛到天花板上的,拽下來 水管特判 include include includeusing namespace std const int maxn 10005 int n,m...
P1941 飛揚的小鳥
動態規劃,設 f i j 表示小鳥到達座標 i j 所要點選螢幕的最少次數,如果小鳥無法到達 i j 則 f i j inf。轉移,考慮小鳥上公升,和下降兩種狀態。因為,在乙個點上公升次數不限,下降只有一次。所以上公升可以用 完全揹包 的狀態轉移,下降用 01揹包 轉移。特判,當小鳥到達頂上 m 時...
P1941 飛揚的小鳥
為了簡化問題,我們對遊戲規則進行了簡化和改編 遊戲介面是乙個長為n 高為 m 的二維平面,其中有k 個管道 忽略管道的寬度 小鳥始終在遊戲介面內移動。小鳥從遊戲介面最左邊任意整數高度位置出發,到達遊戲介面最右邊時,遊戲完成。小鳥每個單位時間沿橫座標方向右移的距離為1 豎直移動的距離由玩家控制。如果點...