鏈結
看見n的範圍,果斷dfs,但是如果是單純的dfs,必炸無疑,
之後考慮優化的問題,
因為題目存在有負邊
所以我們先搜尋與當前這個點相連的點的邊權最小的開始蒐會好一點
也有的大犇選擇了spfa,網上的題解一大堆,這裡既不說明了,
其實是因為筆者菜
#include
#include
#include
#include
#include
using
namespace std;
#define int long long
int n,m,s;
struct node};
int dis[
1005];
int dis1[
1005];
bool f[
1005];
vector g[
1005];
void
dfs(
int u,
int step)
dis[u]
=step;
for(
int i=
0;i.size()
;i++
)else
}else
} f[u]=0
;}void
pd_dfs
(int u,
int step)
dis1[u]
=step;
for(
int i=
0;i.size()
;i++
)else
}else
} f[u]=0
;}signed
main()
);}for
(int i=
1;i<=n;i++
)sort
(g[i]
.begin()
,g[i]
.end()
);dfs(s,0)
;for
(int i=
1;i<=n;i++)}
for(
int i=
1;i<=n;i++
)else
if(i==s)
else
}return0;
}
塔 貪心 搜尋
小 a 想搭乙個體積不超過 m 的塔,他有各種大小的立方積木,比如邊長 為 a 的積木,體積為 a 3,現在小 a 需要你給乙個 x,每次小 a 會用乙個體積 不超過 x 的最大積木,依次到搭好為止,現在他想最大化積木的個數,同時在 積木個數最大的情況下使 x 最大。輸入描述 一行乙個數 m 輸出描...
貪心習題小總結
不要怪筆者寫的簡陋,真的沒有太多時間和精力來整理了。要使用貪心演算法就要證明,貪心策略可以得到全域性最優解,因此它並沒有動態規劃應用那麼廣泛,但是一旦證明貪心策略的重要性往往可以用o n 的複雜度解決問題。455.分發餅乾 貪心策略 我們先對餅乾和孩子排序,拿最小的餅乾去滿足胃口最小的孩子。clas...
貪心演算法 附貪心相關習題
定義 貪心演算法是一種求解最優解的方法。它是按照某種最優策略,將複雜問題層層分解成子問題 每次一般只有乙個 並求子問題的最優解得到整個問題的最優解。貪心演算法並不是從整體上考慮問題,它所做出的選擇只是在某種意義上的區域性最優解。在每個子問題的選擇中只選擇區域性最優解,從而達到全域性最優解的一種演算法...