題意很簡單,求出出口到其他入口之間的最短路徑,再求走完所有管道的距離的最小值。
按自己的思路就是tle……
看了題解後學習了狀態壓縮動態規劃,再加寬搜求最短距離就ok了。
這裡的dp【i】【j】表示以i為起點,在狀態j下的最優值。(其中j是用十進位制表示的二進位制,例如:dp表示以2為起點,走了管道0和2的最優值。)
動態轉移方程:dp【i】【j|(1< 其中i的範圍(0-m-1),j的範圍(0-1<#include#include#includeusing namespace std;
const int inf=1<<29;
const int maxn=40;
const int maxm=(1<<15)+1000;
struct tunnel
t[maxn];
struct node
;int n,m,des,vis[maxn][maxn],dis[maxn][maxn];
int movex[4]=,movey[4]=;
int e,st,dp[maxn][maxm];
char map[maxn][maxn];
queueq;
bool isborder(int x,int y)
void bfs()
//狀態dp
int main()
{ while(scanf("%d%d",&n,&m)!=eof)
{for(int i=1; i<=n; i++)
scanf("%s",map[i]+1);
for(int i=0; i
2017西安邀請賽總結
我記得前幾天就傳上來了的呀。邀請賽總結 前幾天玩的太浪了,還包了一次宿。休息就跟不上了,正式賽時候腦子一直濛濛的。而且之前想前一天去安排下戰術,然而熱身發揮的比較穩,再加上酒店問題比較大,換房間什麼的浪費很長時間就沒有去安排戰術,正式賽只做的4題,銅牌第6.發揮的很差,全場題總是不出。其實a題正解我...
2019西安邀請賽總結
打鐵了 上來a題我寫的時候過於緊張 以至於慢了好幾分鐘 然後開m 我覺得m就是二分加判斷 出賽場之後一交流確實沒錯,但是我判斷寫的dijistra也不知道 寫錯了 隊友一直在開l zc推錯了規律 最後cly重新按照題目寫了好幾個樣例最後a掉,其實就應該用雜湊儲存集合狀態然後打個表就可以,其實規律題也...
2023年西安邀請賽
這是我到大學來第一次去校外參加比賽,還是蠻興奮的。路上火車轉地鐵,地鐵轉大巴,暈暈暈。到了西北工業大學後,先領服裝 隊員牌,然後照相。在大廳裡,能看到很多人,穿著一樣的橙色的衣服,當時就感覺acm這條道路上是不缺同道人的,熱身賽以及正式賽的時候這種感覺更加強烈。領完東西後就回酒店了,午飯是在西工大食...