洛谷 P1131 ZJOI2007 時態同步

2022-03-30 21:13:00 字數 910 閱讀 4444

觀察題目

我們發現所給圖為一棵樹,則終止節點就為葉子節點,我們dfs一遍即可

先看**吧

#include#include#include#include#include#define inf 0x3f3f3f3f

using namespace std;

const int maxn=5e5+4;

int maxx=-1;

inline int read()

while(ch>='0'&&ch<='9')

return f*ret;

}int n;

int s;

long long ans;

int head[maxn];

struct edgee[maxn];

int cnt;

int m[maxn];

void add(int u,int to,int w)

void dfs(int u,int fa)

for(int i=head[u];i;i=e[i].nex)

} for(int i=head[u];i;i=e[i].nex)

} for(int i=head[fa];i;i=e[i].nex)

return;

}int main(){

// freopen("a.in","r",stdin);

n=read();

s=read();

int x,y,z;

for(int i=1;i看著好像挺長但其實挺好理解

解釋一下吧

本質上更新過的父節點變成了從父節點到子樹中葉子節點的最大權值和

即從父節點到葉子節點所需費用的最大值

我們先dfs到最低層

然後從後向前更新

還是很好理解的,畫個簡單圖推一下即可

洛谷P1131 ZJOI2007 時態同步

小qqq在電子工藝實習課上學習焊接電路板。一塊電路板由若干個元件組成,我們不妨稱之為節點,並將其用數字1,2,3 1,2,3 1,2,3 進行標號。電路板的各個節點由若干不相交的導線相連線,且對於電路板的任何兩個節點,都存在且僅存在一條通路 通路指連線兩個元件的導線序列 在電路板上存在乙個特殊的元件...

洛谷P1131 ZJOI2007 時態同步

題目 貪心貪心思路是先找到每個節點的到最深處的路徑,並找到最大值。然後最後答案要加上該最大值和所有路徑權值的差。include define n 600101 define int long long using namespace std int n,root,cnt,ans,lin n siz ...

洛谷P1131 ZJOI2007 時態同步

小q在電子工藝實習課上學習焊接電路板。一塊電路板由若干個元件組成,我們不妨稱之為節點,並將其用數字1,2,3 進行標號。電路板的各個節點由若干不相交的導線相連線,且對於電路板的任何兩個節點,都存在且僅存在一條通路 通路指連線兩個元件的導線序列 在電路板上存在乙個特殊的元件稱為 激發器 當激發器工作後...