哈爾濱工程大學第十四屆程式設計競賽 (補題

2022-09-12 10:27:14 字數 1190 閱讀 5788

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 0x3f3f3f3f

using 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個瓶。他們當中也有乙個並不那麼厲害的下水道玩家,每次都能把球丟進下水道裡,導致乙個...