P4294 WC2008 遊覽計畫 斯坦納樹

2022-08-18 07:09:12 字數 1244 閱讀 1187

題目鏈結

差不多是斯坦納樹裸題,不過邊權化成了點權,這樣在合併兩棵子樹時需要去掉根結點的權值,防止重複。

題目還要求輸出解,只要在轉移時記錄下路徑,然後dfs一遍就好了。

1 #include2

using

namespace

std;

3 typedef long

long

ll;4

const

int n=10+2,inf=0x3f3f3f3f;5

const

int dx= ;

6const

int dy= ;

7int n,m,k,dp[1

<<10

][n][n],a[n][n],inq[n][n];

8char

s[n][n];

9struct d x[n];

10struct ans anss,nxt[1

<<10

][n][n];

11 queueq;

12void upd(int x,int y,int c,int s,int x2,int

y2) ;

16if(!inq[x][y])inq[x][y]=1

,q.push();17}

18}19void spfa(int

s) );

25while

(q.size()) 33}

34}35void dfs(int s,int x,int

y) 43

intmain() ;49}

50 memset(dp,inf,sizeof

dp);

51for(int i=0; i1

52for(int s=1; s<(1

59spfa(s);60}

61int ans=inf;

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

63for(int j=1; j<=m; ++j) ;66}

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

68for(int j=1; j<=m; ++j)s[i][j]='_'

;69dfs(anss.s,anss.x,anss.y);

70 printf("

%d\n

",ans);

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

75return0;

76 }

P4294 WC2008 遊覽計畫

題目鏈結 題目描述 從未來過紹興的小d有幸參加了winter camp 2008,他被這座歷史名城的秀麗風景所吸引,強烈要求遊覽紹興及其周邊的所有景點。主辦者將紹興劃分為 n nn 行 m mm 列 n m n m n m 個分塊,如下圖 8 景點含於方塊內,且乙個在這裡插入描述 方塊至多有乙個景點...

洛谷P4294 WC2008 遊覽計畫

教練上次課講了插頭dp,然後列出的插頭dp題目裡有這道題。本來想練練插頭dp的結果用更快更簡單的斯坦納樹解決了這道題。斯坦納樹經典題目。斯坦納樹其實並不是很難,一般用來解決在一張無向圖上選 text 個點使這 text 個點連通並且始所選邊邊權最小。那麼回到本題。設 f 表示當前在第 text 行 ...

2595 Wc2008 遊覽計畫

time limit 10 sec memory limit 256 mbsec special judge submit 1312 solved 602 submit status discuss 第一行有兩個整數,n和 m,描述方塊的數目。接下來 n行,每行有 m 個非負整數,如果該整數為 0,...