P1505 國家集訓隊 旅遊

2022-03-17 23:40:14 字數 2485 閱讀 5802

題目鏈結

這道題其實還是比較好想的,同樣是邊權問題。我們需要維護最大值,最小值,和。最坑的地方就是路徑上的所有數變相反數,其實這個就是把區間和*-1,區間最大*-1,區間最小*-1,最後pushdown的時候將取反標記^1,接下來一系列都是常規操作。而這裡還要記住,單點修改時也要下傳lazy標記。而我在跳鏈的時候寫錯了調了很久,樣例非常之水。

**,又臭又長,bzoj上都還ac不了

#includeusing

namespace

std;

const

int maxn=3e6+7

;struct

nodetree[maxn*6

];struct

node1edge[maxn*4

];int

head[maxn],cnt;

intx,y,v,n,m;

char opt[666

];void add(int x,int y,int

v)int

ljb[maxn],dep[maxn],son[maxn],fa[maxn],size[maxn],top[maxn],w[maxn],rev[maxn],id[maxn],time;

void dfs1(int x,int

f) }

}void dfs2(int x,int

topf)

}void pushdown(int

now)

}void pushup(int

now)

void build(int now,int l,int

r)

int mid=(l+r)>>1

; build(now

<<1

,l,mid);

build(now

<<1|1,mid+1

,r);

pushup(now);

}void update1(int now,int x,int

v) pushdown(now);

int mid=(tree[now].l+tree[now].r)>>1

;

if(x<=mid) update1(now<<1

,x,v);

else update1(now<<1|1

,x,v);

pushup(now);

}void update2(int now,int l,int

r) pushdown(now);

int mid=(tree[now].l+tree[now].r)>>1

;

if(l<=mid) update2(now<<1

,l,r);

if(r>mid) update2(now<<1|1

,l,r);

pushup(now);

}void linkup(int x,int

y)

if(dep[x]

update2(

1,id[y]+1

,id[x]);

}int query1(int now,int l,int

r)int query2(int now,int l,int

r)int query3(int now,int l,int

r)int link1(int x,int

y)

if(dep[x]

ans+=query1(1,id[y]+1

,id[x]);

return

ans;

}int link2(int x,int

y)

if(dep[x]

ans=max(ans,query2(1,id[y]+1

,id[x]));

return

ans;

}int link3(int x,int

y)

if(dep[x]

ans=min(ans,query3(1,id[y]+1

,id[x]));

return

ans;

}int

o,p,q;

intmain()

dfs1(

1,0);

dfs2(

1,1);

build(

1,1,n);

scanf("%d

",&m);

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

if(opt[0]=='n'

)

if(opt[0]=='s'

)

if(opt[1]=='a'

)

if(opt[1]=='i'

) }

return0;

}

view code

P1505 國家集訓隊 旅遊

ray 樂忠於旅遊,這次他來到了t 城。t 城是乙個水上城市,一共有 n 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人心情愉悅,但有些橋狹窄泥...

題解 P1505 國家集訓隊 旅遊

這篇題解主要講 實現,思路可能需要照著 理解,請慎重閱讀 兩張掛了,重新傳了一遍。最後 寫出來3.5kb,不到150行,相對來說還是挺短的.給定一棵 n 個節點的樹,邊帶權,編號 0 sim n 1 需要支援五種操作 保證任意時刻所有邊的權值都在 1000,1000 內。前置知識 樹鏈剖分。主要講 ...

洛谷 P1505 國家集訓隊 旅遊

洛谷傳送門 ray 樂忠於旅遊,這次他來到了 t 城。t 城是乙個水上城市,一共有 nn 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有 n 1n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人...