訊息傳遞 構造題

2022-05-20 01:59:58 字數 1781 閱讀 6815

首先分析題目, 得到兩個性質,

有了這兩個性質, 就可以得出結論:每個節點要麼是出發節點, 要麼是結束節點, 且節點間的配對情況對總流量沒有影響 .

於是嘗試以下構造方法 先構造出每個節點父親節點連邊以滿足題意 的方案, 將 1

1 作為根,從底向頂處理,

兒子節點的權值通過向父親節點傳遞訊息的方式消為 0

0, 因為資料保證有解, 所以消到的權值會變為 00 .

在往上進行 「消元」 的過程中記錄每個節點流入和流出的訊息流量,

最後將每個節點分成兩類, 一類是流出的節點, 另一類是流入的節點, 再將節點按編號從小到大排序, 按順序兩兩配對即可得到最優解 .

#include

#define reg register

intread()

while

(isdigit

(c)) s = s*

10+ c-

'0', c =

getchar()

;return s * flag;

}const

int maxn =

1000006

;int n;

int t1;

int t2;

int num0;

int w[maxn]

;int in[maxn]

;int out[maxn]

;int head[maxn]

;int ans_1[maxn]

;int ans_2[maxn]

;struct edge edge[maxn <<1]

;void

add(

int from,

int to)

; head[from]

= num0;

}void

dfs(

int k,

int fa)

}int

main()

dfs(1,

0);for

(reg int i =

1; i <= n; i ++)if

(in[i]

> out[i]

)else

if(in[i]

< out[i]

)printf

("%d\n"

, t1)

;for

(reg int i =

1; i <= t2; i ++

)printf

("%d %d\n"

, ans_1[i]

, ans_2[i]);

return0;

}

Android訊息傳遞之元件間傳遞訊息

前言 上篇學習總結了android通過handler訊息機制實現了工作執行緒與ui執行緒之間的通訊,今天來學習一下如何實現元件之間的通訊。本文依然是為學習eventbus做鋪墊,有對比才能進步,今天主要介紹在eventbus出現之前的實現方式,通過intent方式這裡不做介紹。需求場景 方式一 通過...

mfc 訊息傳遞

訊息分類 windows的訊息都是以wm 為名,wm 的意思是 windows message mfc把訊息分為三大類 命令訊息 wm command 命令訊息意味著 使用者命令程式做某些操作 凡是ui物件產生的訊息都是這種命令訊息,可能來自選單或加速鍵或工具欄按鈕,並且都以wm command呈現...

Intent 訊息傳遞

android為了遮蔽程序的概念,利用不同的元件 activity service 來表示程序之間的通訊!元件間通訊的核心機制是intent,通過intent可以開啟乙個activity或service,不論這個activity或service是屬於當前應用還是其它應用的!一 intent概念 in...