週六週日tyvj上有模擬賽
順便逃了周練【霧
複習了一下圖論裡的基本演算法
彷彿第一次寫最短路的手生
**寫的太少了…orz…
dijkstra:
#include#define maxn 10001
#define maxm 300001
using namespace std;
template void read(t &x)
int to[maxm],wei[maxm],nxt[maxm];
int head[maxn],dis[maxn],pre[maxn];
bool vis[maxn];
int n,m;
int total;
void add(int u,int v,int w)
void dijkstra(int x)
int to[maxm],nxt[maxm],wei[maxm],total;
int head[maxn],dis[maxn],q[maxn];
bool vis[maxn];
int n,m;
void add(int u,int v,int w)
void spfa(int x)
}} }
}int main()
spfa(1);
for(int i=1;i<=n;++i) cout<
floyd:
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
順手在luogu上交了dikstra和板子和堆優化 gg
90分莫名其妙wa了第三個點
交了spfa wa了第三個點
一開始有向圖當成了無向圖【霧
最短路模板
1.dijkstra演算法 演算法思想 從某乙個點開始,找與它距離最近的乙個點,然後更新所有點到這條路徑的距離,然後再次選取乙個距離上乙個點路徑最短的點,將其加入路徑,以此進行,直到求出起點到所有點的最短距離.注意 權值不能為負,如圖 1到3的距離應該是零,但這裡結果為一 1 鄰接矩陣 複雜度 o ...
最短路模板
include include include include include include define inf 0x3f3f3f3f using namespace std const int maxn 105 int dis maxn pre maxn struct edge 邊 edge ...
最短路模板
最短路模板 思路 開乙個陣列dis i 一開始把陣列全初始化為極大值,表示離源點的距離為無窮大 表示 i 點到源點的最短距離。一開始把與源點直接相鄰的點和源點的距離存入dis i 陣列,再在dis陣列中找到乙個最小值,並標記。顯然該標記點離源點是最近的。而其他點經過該標記點到源點的距離可能比直接原點...