1759 採訪計畫

2022-05-25 03:57:15 字數 2095 閱讀 7599

時間限制: 2000 ms         記憶體限制: 131072 kb

【題目描述】

公元2023年,人類將進入宇宙紀元。l國有n個星球,分別編號為1到n,每一星球上有乙個球長。

因為歷史的長期積澱,第i個星球上還有一位編號為i的德高望重的長者,因為長者德高望重,所以第i個星球的球長一定被第i位長者管轄且長者管轄自己。

每一位長者手裡有乙份名單bi,上面記錄著一些長者的編號。

因為一些奧妙重重的原因,第i位長者的名單上只可能有1至i-1中的一些編號並且保證不會重複。

因為長者都德高望重,所以第i位長者管轄第j位長者的充要條件是:對於每乙個k屬於bi,第k位長者管轄第j位長者。

此時,有一位記者想對一些球長進行採訪,為了保證採訪順利,他決定先與一些長者搞好關係,以便採訪被這些長者管轄的球長。

為了與更多的球長談笑風生,這位記者會給你提出m個詢問。

第i個詢問中記者會給你fi個長者的編號,你需要回答有多少個星球的球長至少直接或間接被一位長者管轄。m≤2000000 。

【輸入】

第一行乙個數n,表示星球的個數。

接下來n行,每一行描述乙個bi:首先給出bi的大小szi(可能為0),接下來szi個數,描述bi中的每乙個元素。保證bi中的數沒有重複。

接下來一行,給出乙個數m,表示詢問的個數。

接下來m行,每一行描述乙個詢問:格式同上文對於集合bi的格式。

【輸出】

共m行,第i行輸出第i次詢問的答案。

【輸入樣例】70

1 11 1

1 22 2 3

02 2 6

32 2 3

2 3 5

2 4 5

【輸出樣例】33

4【提示】

【樣例解釋】

對於第乙個詢問,2、3號長者都管轄1號長者,所以總共有3個球長可以被採訪,編號分別為1,2,3。

對於第二個詢問,3、5號長者都管轄1號長者,所以總共有3個球長可以被採訪,編號分別為1,3,5。

對於第三個詢問,4號長者管轄第1、2號長者,所以總共有4個球長可以被採訪,編號分別為1,2,4,5。

特別說明:第5號長者沒有管轄長者2,因為3∈b5但2不屬於b3。但長者4管轄長者2,因為長者管轄自己。

說明:圖中省略了球長,編號代表長者有向邊u→v表示u在bv中

【資料規模及約定】

對於30%的資料,n,m≤100。

對於100%的資料,n,m≤200000,∑|bi|≤2000000,詢問中的∑|szi|≤2000000 。

【題解】

這題關鍵在於如何建樹,發現如果令乙個點的所有祖先均被他管轄,則第i個節點應該接到它名單中節點的lca下,因為需要被這些點都管轄。

邊建樹邊倍增,建樹複雜度nlogn。

考慮如何回答詢問。

發現每個詢問就是求給出所有點到根的並的節點數。考慮將所有節點按dfn排序,則將每個節點與其相鄰的節點的lca加起來即為答案。

**如下:

#includeusing

namespace

std;

const

int n=2e5+5

;int n,last[n],size,f[n][20

],m,dfn[n],hu[n],dep[n],cnt;

struct

pigu

a[n<<1

];inline

void lingjiebiao(int x,int

y)inline

intread()

while(isdigit(c))

return x*f;

}inline

void lian(int x,int

y)inline

int get_lca(int x,int

y)inline

void dfs(int

now)

inline

bool cmp(int x,int

y)int

main()

lian(i,lca);

}m=read();

dfs(0);

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

}

view code

課餘作業 採訪

採訪人 李帥偉,張威,郭光耀,穆向昕 採訪單位 鄭州雲和資料 被采訪人 何林 採訪方式 qq聊天 採訪目的 了解專案開發團隊 公司簡介 發展歷程 2015.05 成為共青團河南省電子商務行業工作委員會支部 2015.08 河南省人社廳授予河南省高校畢業生省級就業見習單位 2015.08 鄭州高新區外...

1759 求連通分量

求連通分量 time limit 1000ms memory limit 65536k total submit 243 accepted 136 description 求乙個圖的連通分量 input n 頂點數 100 邊 output 連通分量 sample input 5 1 23 4 2 ...

PDSOJ 1759 逃出迷宮

時間限制 1 sec 記憶體限制 128 mb 提交 25 解決 13 提交 狀態 討論版 現在有乙個迷宮,a 代表起點位置,代表可以通行的路,代表不能通過的牆,x 代表迷宮的守衛,r 代表終點位置,現在要求你算出起點位置到終點位置的最短時間,其中通過 時,消耗1個單位時間,通過 x 消耗兩個單位時...