日常訓練 Z國特色社會路

2022-05-31 04:12:09 字數 2188 閱讀 1041

小\(w\)非常喜歡社會主義,這天他開始研究它的優越性。

他發現它們國家十分樂於修建特色的社會主義道路。具體的說,\(z\)國有\(n\)座城市,由\(m\)條有向邊連線,城市從\(1\)編號。

特色的地方在於,時不時會有一些\(l\)下來在城市間視察,視察時他會從城市\(b_i\)開始,最終到\(e_i\)結束。每次視察都會走過一些路,這些路自然會被\(l\)所注意。

更具體地, \(l\)會重修自己走過的路。每條邊重修需要的費用也不相同。

而如果視察結束後, \(l\)不在一開始自己所在的城市\(b_i\),則會要新建一條\(vip\)道路送他回家,也就是只有他自己能通過的道路。這需要花費固定的費用\(c\),這條道路走過後便會拆毀。

若某個城市沒有被\(l\)經過,則這個城市的下級\(l\)會被勒令整改,也要花費\(c\)的費用。

現在有\(k\)年,每年有若干個\(l\)下來視察(可能\(0\)個),每年的固定費用\(c\)不同。小\(w\)想知道對於每一年怎樣安排他們的視察人數和視察路線,能使得總花費最小。注意,\(l\)至少要視察一條邊。

注意,若一條道路被同乙個人多次經過,則每次都會重修這條路。多個人多次經過也是一樣。沒有被\(l\)經過的城市,更具體的說是沒有被任何\(l\)經過。

第一行三個整數\(n,m,k\)。

接下來\(m\)行每行三個整數\(s_i,t_i,v_i\),表示\(s_i\)和\(t_i\)間的有向邊,重修需要花費\(v_i\)的代價。接下來\(k\)行每行乙個整數,表示這一年的固定費用\(c\)。

輸出\(k\)行,每行乙個最小花費。

6 5 3 6

1 3 2

2 3 2

3 4 2

4 5 2

4 6 215

10

6

2132

\(2\;\leq\;n\;\leq\;250,1\;\leq\;m\;\leq\;30000,1\;\leq\;k\;\leq\;10000,s_i\not=t_i,1\;\leq\;v_i,c\;\leq\;10000\),一對城市間可能有多條單向路,圖中無自環。

先求出原圖的最短路建一張完全圖,任意兩點間的邊權為原圖中兩點的最短路長度.

可以發現,每個點只會被最優路徑經過一次.

由於乙個點只被經過一次,且要找出一些路徑使得它們的和最小,這非常像最小路徑覆蓋的模型,拆點建邊.

接著做最小費用最大流,若流了\(k\)路徑,則我們需支付\((n-k)c\).

證明:若這\(k\)路徑首尾相連成乙個環,則需對剩下\(n-k\)個城市支付\(c\);若不是環,則這\(k\)路徑經過\(k+1\)個點,需對剩下\(n-k-1\)個城市支付\(c\),以及為\(l\)修路回去的\(c\).

接下來要決定流幾條路徑.顯然,做費用流時,每次得到的路徑的費用是單調不降的,也就是可以在做費用流時判斷:若當前的費用\(>c\),則停止費用流,剩下的城市用\(c\)補。

由於有多組\(c\),所以考慮提前將所有\(n\)次流後所得到的費用用字首和存下來,每次二分出需要流的路徑條數.

#include#include#include#include#include#include#include#include#include#include#define n 505

#define m 125505

#define inf 1000000000

using namespace std;

struct graphe[m];

struct edgea[m];

struct tagpre[n];

int d[n][n],g[n],f[n],sum[n],dis[n],c,n,m,s,t,ti,cnt=1;

bool inq[n];queueq;

inline int read()

return ret;

}inline void addedge(int x,int y,int f,int w)

inline void adde(int x,int y,int f,int w)

inline bool spfa(int u)

dis[u]=0;q.push(u);inq[u]=true;

while(!q.empty())

printf("%d\n",sum[l]+c*(n-l));

}}int main()

中國特色的軟體

中國特色的軟體 我們出身在具有5000年歷史的泱泱大國,先人創造出悠久的文明,可卻在最近的200年間快速的衰落,我們在最近的50年的時間裡,開啟國門快速吸收著西方的文明與科技,接受著西方實用技術的錘煉,尋求著中華民族的偉大復興。認清自己,反省自己是乙個刻不容緩的問題。我希望通過我的思考,能讓我們找到...

有中國特色的測試論壇

看了很多論壇,也和很多行業的兄弟交流過。多數對測試論壇的帖子頗有感觸,於是很多高手不愛上測試論壇。仔細看看,主要有下面幾類 在論壇互噴的,這個最多,但是多數是片面的觀點。求助工具使用的。上面三類幾乎成了主題。而大家上論壇就是圍繞著上面三個目的。當然,也有高手發表文章,一些測試設計,或者更有價值的東西...

有中國特色的測試論壇

看了很多論壇,也和很多行業的兄弟交流過。多數對測試論壇的帖子頗有感觸,於是很多高手不愛上測試論壇。仔細看看,主要有下面幾類 在論壇互噴的,這個最多,但是多數是片面的觀點。求助工具使用的。上面三類幾乎成了主題。而大家上論壇就是圍繞著上面三個目的。當然,也有高手發表文章,一些測試設計,或者更有價值的東西...