bzoj4448 Scoi2015 情報傳遞

2022-06-02 06:42:11 字數 2360 閱讀 2096

time limit: 20 sec  memory limit: 256 mb

submit: 410  solved: 219

[submit][status][discuss]

奈特公司是乙個巨大的情報公司,它有著龐大的情報網路。情報網路中共有n名情報員。每名情報員口j-能有

若t名(可能沒有)下線,除1名大頭日外其餘n-1名情報員有且僅有1名上線。奈特公司紀律森嚴,每

名情報員只能與自己的上、下線聯絡,同時,情報網路中仟意兩名情報員一定能夠通過情報網路傳遞情報。

奈特公司每天會派發以下兩種任務中的乙個任務:

1.蒐集情報:指派t號情報員蒐集情報

2.傳遞情報:將一條情報從x號情報員傳遞給y號情報員

情報員最初處於潛伏階段,他們是相對安全的,我們認為此時所有情報員的危險值為0;-旦某個情報員開

始蒐集情報,他的危險值就會持續增加,每天增加1點危險值(開始蒐集情報的當天危險值仍為0,第2天

危險值為1,第3天危險值為2,以此類推)。傳遞情報並不會使情報員的危險值增加。

為了保證傳遞情報的過程相對安全,每條情報都有乙個風險控制值c。餘特公司認為,參與傳遞這條情

報的所有情報員中,危險值大於c的情報員將對該條情報構成威脅。現在,奈特公司希望知道,對於每

個傳遞情報任務,參與傳遞的情報員有多少個,其中對該條情報構成威脅的情報員有多少個。

第1行包含1個正整數n,表示情報員個數。

笫2行包含n個非負整數,其中第i個整數pi表示i號情報員上線的編號。特別地,若pi=0,表示i號

情報員是大頭目。

第3行包含1個正整數q,表示奈特公司將派發q個任務(每天乙個)。

隨後q行,依次描述q個任務。

每行首先有1個正整數k。若k=1,表示任務是傳遞情報,隨後有3個正整數xi、yi、ci,依次表示傳遞

情報的起點、終點和風險控制值;若k=2,表示任務是蒐集情報,隨後有1個正整數ti,表示蒐集情報的

情報員編號。

對於每個傳遞情報任務輸出一行,應包含兩個整數,分別是參與傳遞情報的情報員個數和對該條情報構成威脅的情報員個數。

輸出的行數應等於傳遞情報任務的個數,每行僅包含兩個整數,用乙個空格隔開。輸出不應包含多餘的空行和空格。

70 1 1 2 2 3 3

61 4 7 0

2 12 4

2 71 4 7 1

1 4 7 3

5 05 2

5 1

1 #include2

#define rep(i,l,r) for(int i=l;i<=r;++i)

3using

namespace

std;

4const

int n=202333;5

int dep[n],sz[n],size,tot,son[n],top[n],fa[n],begin[n],end[n],head[n],ans[n][2

],c,n,m,x,cnt,t[n];

6struct

zsa[n];

9struct

nodee[n<<1

];12 inline void ins(int u,int

v) 15 inline void dfs1(int x,int

pre) 23}

24void dfs2(int x,int

tr) 31}

32 inline int lca(int x,int

y) 39

if(dep[x]return x;else

return

y;40}41

void dfs(int

x)46

bool

cmp(zs a,zs b)

49 inline void add(int x,int

k)52 inline int ask(int

x)57 inline int

read()

63int

main()

66 dfs(1

);67 dfs1(1,0

);68 dfs2(1,1

);69 scanf("

%d",&m);

70 rep(i,1

,m)else a[i].a=read(),a[i].c=i;77}

78 sort(a+1,a+1+m,cmp);

79 rep(i,1,m)if(a[i].opt==2

)else

86 rep(i,1,size) printf("

%d %d\n

",ans[i][0],ans[i][1

]);87 }

view code

神奇的姿勢...

bzoj 4448 Scoi2015 情報傳遞

description 奈特公司是乙個巨大的情報公司,它有著龐大的情報網路。情報網路中共有n名情報員。每名情報員口j 能有 若t名 可能沒有 下線,除1名大頭日外其餘n 1名情報員有且僅有1名上線。奈特公司紀律森嚴,每 名情報員只能與自己的上 下線聯絡,同時,情報網路中仟意兩名情報員一定能夠通過情報...

BZOJ4448 Scoi2015 情報傳遞

bzoj4448 scoi2015 情報傳遞 奈特公司是乙個巨大的情報公司,它有著龐大的情報網路。情報網路中共有n名情報員。每名情報員口j 能有若t名 可能沒有 下線,除1名大頭日外其餘n 1名情報員有且僅有1名上線。奈特公司紀律森嚴,每名情報員只能與自己的上 下線聯絡,同時,情報網路中仟意兩名情報...

BZOJ 4448 Scoi2015 情報傳遞

bzoj 4448 scoi2015 情報傳遞 主席樹 奈特公司是乙個巨大的情報公司,它有著龐大的情報網路。情報網路中共有n名情報員。每名情報員口j 能有 若t名 可能沒有 下線,除1名大頭日外其餘n 1名情報員有且僅有1名上線。奈特公司紀律森嚴,每 名情報員只能與自己的上 下線聯絡,同時,情報網路...