流量平衡 hdu3947

2021-06-16 11:14:42 字數 922 閱讀 6599

雖然是志願者招募的變形,但是也有一定的新意

給出一棵內向樹,每條邊有一定的權值,目標是所有的邊權小於等於0,給出若干操作ui,vi,li,ci,表示將ui到vi的路徑上的邊減1的權值需要ci的費用,該操作共可執行li次。

一開始被叉姐的講解誤導,用一種類似點事件的思想,每種操作看做在某個點+1的標記和某個點-1的標記,這個思想或許在志願者招募適用,但在樹上有分叉,就不太可行了(或許是我理解錯了叉姐的意思)

言歸正傳,先對每條父親邊放縮,建出xi+xj+...+xk=wi+yi的等式,然後減去所有兒子邊的等式,對於根節點就用0==0去減,就可以得出一系列每個變數等式左右各只出現一次的等式,然後用流量平衡建圖即可。

關鍵是減去所有兒子這一步,我想了半天,如果只是父親減兒子的話,每個變數出現的次數就不定了。

建圖的時候,每個變數分開考慮建起來也相當簡單。

超時一次是距離陣列開大了,每次memset時間相當可觀,差點就改寫原始對偶了...

#include #include #include #include #include const int oo=1073741819;

using namespace std;

int next[2000000],sora[2000000],flow[2000000],cost[2000000],po[2000000],tail[2000000];

int p[2000000],st[2000000],d[250],v[2000000];

int s,t,n,ss,m,ans,sum,lim,t;

bool spfa(int s,int t)

scanf("%d\n",&m);

for (int i=1;i<=m;i++)

sum=0,ans=0;

for (;spfa(s,t);widen()) ;

// cout<

組建物聯網卡流量池 幫助平衡裝置流量使用不均現象

近年來,在科技與政策的推動作用下,物聯網在我國得到了迅猛發展,並以物聯網卡為中心的多種物聯網技術並用在社會上的多重領域。如今物聯網卡連線裝置每日都以乙個十分迅猛的數量向上攀公升,企業成百上千裝置已經開始加入物聯網卡連線網路系統,在幫助企業節省成本 提高效率的同時,企業對於物聯網卡流量的分配管理也存在...

hdu4585 平衡樹解法

平衡樹板子 找出前驅後繼節點比較一下 include include include include include include include include include include includeusing namespace std define ll long long cons...

NOI2008 志願者招募 流量平衡

輸入檔案 employee.in輸出檔案 employee.out簡單對比 時間限制 2 s 記憶體限制 512 mb 問題描述 申奧成功後,布布經過不懈努力,終於成為奧組委下屬公司人力資源部門的主管。布布剛上任就遇到了乙個難題 為即將啟動的奧運新專案招募一批短期志願者。經過估算,這個專案需要n 天...