f 小帆帆走迷宮(簡單dp)
一道其實不是很難的四維dp 但是在考場上因為只記錄轉彎次數沒記錄方向沒寫出來
看題發現 其實這道題就是二維數塔+轉向費的dp
所以我們用dp[n][n][k][m]來記錄狀態 前兩維n n 代表當前座標 k記錄轉彎幾次 m記錄方向 當m=0 記沒改變方向 當m=1 為改變了方向
因為要用到矩陣邊界 所以我們要預處理 m為0時的價值 具體看**
解法1
#include #include #include #define inf 0x3f3f3f3fusing namespace std;
int t,n;
int a[105][105];
int dp[105][105][20][2];
int main(int argc, char const *ar**)
} memset(dp,inf,sizeof(dp));
dp[1][1][0][0]=a[1][1];
dp[1][1][0][1]=a[1][1];
for(int i=1;i<=n;i++)
if(j>1)
for(int k=0;k<=19;k++)
for(int k=1;k<=18;k++)
}} int minn=inf;
for(int a=0;a<=1;a++)
for(int i=0;i<=18;i++)
cout《解法2 其實思路差不多 但是這個dp更容易理解
#include #include #include #define inf 0x3f3f3f3f
using namespace std;
int t,n;
int a[105][105];
int dp[105][105][20][2];
int main(int argc, char const *ar**)
} dp[0][1][0][0]=0;
dp[1][0][0][1]=0;
for(int i=1;i<=n;i++)
for(int i=2;i<=n;i++)
}} int minn=inf;
for(int a=0;a<=1;a++)
for(int i=0;i<=18;i++)
cout<} return 0;
}
浙江財經大學第十四屆程式設計競賽命題感想
題目和題解點這裡 24號,學校一年一度的程式設計競賽結束了,這一次是我和兩個學弟命題的,還有一些人進行了題面書寫 review,還有一部分人幫忙進行了驗題。所以我想記錄一下這次命題的詳細過程,以後可以成為一次美好的回憶。大概從元旦前夕開始,逐步有了一些 idea,有些很 easy,有些很難 估計是我...
(補題心路)福州大學第十四屆程式設計競賽 重現賽
個人感覺是最短路大冒險 不知道為啥中暑了腦子反而活躍了起來,就是 實現非常gg fzu 2253 salty fish 漁夫翻鹹魚,會把乙個區間裡的1翻成0 0翻成1 區間長度至少為1 問最多有幾個1 統計原先的鹹魚數量 考慮每翻一次,如果本來是1 會使鹹魚數量 1,如果本來是0,會使鹹魚數量 1 ...
長春理工大學第十四屆程式設計競賽(重現賽)B
b bowling game cust的隊員打完省賽後,小r帶著大家去打保齡球。保齡球是一項難度非常高的遊戲,然而這根本難不住校隊成員,他們個個都很厲害 炸和 一發10個瓶都倒。尤其是小r,每次都能閉著眼睛一次扔倒10個瓶。他們當中也有乙個並不那麼厲害的下水道玩家,每次都能把球丟進下水道裡,導致乙個...