bzoj 4448 Scoi2015 情報傳遞

2022-05-11 02:49:35 字數 2051 閱讀 7419

description

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

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

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

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

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

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

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

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

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

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

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

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

解題報告:

用時:1h,2wa

和上題類似,這裡的風險控制值實質上是詢問開始收集情報時刻小於 \(i-c\) 的節點,所以我們就以天數為下標建立主席樹,然後查詢路徑直接用樹鏈剖分查詢即可

#include #include #include #include #include #include #define rg register

#define il inline

#define iter iterator

#define max(a,b) ((a)>(b)?(a):(b))

#define min(a,b) ((a)<(b)?(a):(b))

using namespace std;

const int n=200005;

int head[n],num=0,nxt[n<<1],to[n<<1],n,m,fa[n];

void link(int x,int y)

struct questionq[n];int mt=0,tx[n],root[n];

int dep[n],top[n],dfn=0,id[n],sz[n],son[n];

void dfs1(int x)

}void dfs2(int x,int tp)

int totnode=0;

struct nodet[n*80];

void updata(int &rt,int last,int l,int r,int sa)

int mid=(l+r)>>1;

if(sa>mid)updata(t[rt].r,t[last].r,mid+1,r,sa);

else updata(t[rt].l,t[last].l,l,mid,sa);

t[rt].s=t[t[rt].l].s+t[t[rt].r].s;

}int query(int rt,int l,int r,int sa,int se)

void solve(int x,int y,int co)

if(id[x]>id[y])swap(x,y);

if(co>0)ret+=query(root[co],1,n,id[x],id[y]);

dist-=dep[x]<<1;

printf("%d %d\n",dist+1,ret);

}void work()

scanf("%d",&m);

int flag;

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

else scanf("%d",&tx[i]);

}dep[1]=1;dfs1(1);dfs2(1,1);

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

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

solve(q[i].x,q[i].y,q[i].c);

}int main()

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名上線。奈特公司紀律森嚴,每 名情報員只能與自己的上 下線聯絡,同時,情報網路...