洛谷P1342 請柬解題報告

2021-08-29 04:04:19 字數 1271 閱讀 3375

求去的路徑與回來的路徑和

1 ≤n

,m

≤1000000

1 \le n,m \le 1000000

1≤n,m≤

1000

000最短路

對於第一次碰到這種模型的oiers,這個地方可以講講的。

顯然我們可以暴力跑n遍最短路。但是我們可以這麼想:我們出去是從乙個點到所有其他點,那麼我們能回來也從乙個點到所有其他點嗎?答案顯然是可以的。我們只要反向存邊,正著跑一邊,倒著跑一邊就好了。

別忘了開long long啊

#include

#include

#include

#define ll long long

#define inf 1e9f

#define maxn 1000100

using

namespace std;

inline ll read()

while

(c>=

'0'&&c<=

'9')k=

(k<<1)

+(k<<3)

+(c^48)

,c=getchar()

;return f*k;

}struct edge

z[maxn]

,f[maxn]

;ll cnt_z,cnt_f,n,m,ans;

ll head_z[maxn]

,head_f[maxn]

,dis[maxn]

;bool vis[maxn]

;void

add_z

(ll u,ll v,ll w)

void

add_f

(ll u,ll v,ll w)

void

spfa_z()

}}}for

(ll i=

1;i<=n;i++

)ans+

=dis[i];}

void

spfa_f()

}}}for

(ll i=

1;i<=n;i++

)ans+

=dis[i];}

intmain()

spfa_z()

;spfa_f()

;printf

("%lld"

,ans)

;return0;

}

郵遞員送信(弱化版 / 雙倍經驗)

洛谷 P1342 請柬

這道題很適合作為p1629的加強版 因為這道題其實體現了反向建圖的高效性 反向建圖後 單終點最短路徑 單源最短路徑。因此兩邊dij,然後再累計和即可 部分不難弄。直接上 先說明以下程式,有1的變數名與第一次dij有關 學生出來 帶2的與第二次dij有關 學生回家 include include in...

洛谷P1342請柬

核心思想 兩遍最短路.1號點去各地的時間直接套最短路模板,各地到1號點時間用逆向思維,視為求1號點沿反邊到各地的時間即可.include include include include include define re register using namespace std const int ...

洛谷 P1342 請柬

在電視時代,沒有多少人 戲劇表演。malidinesia古董喜劇演員意識到這一事實,他們想宣傳劇院,尤其是古色古香的喜劇片。他們已經列印請帖和所有必要的資訊和計畫。許多學生被雇來分發這些請柬。每個學生志願者被指定乙個確切的公共汽車站,他或她將留在那裡一整天,邀請人們參與。這裡的公交系統是非常特殊的 ...