顯然任意所求路徑就只經過一條密道,然後呢,畫圖發現就是乙個個環,然後可以用並查集來維護屬於乙個環或者是直接賦值
#includeusing namespace std;
long long read()
while(ch>='0'&&ch<='9')
return num;
}struct ooedge[200005];
struct ooomd[200005];
int head[100005],tot,d[100005],fa[100005],up[100005],in[100005],ans[100005];
void dfs(int now)
}void add(int a,int b,int c)
bool cmp(ooo a,ooo b)
int finds(int x)
int main()
d[1]=1;
dfs(1);
for(int i=1;i<=m;i++)
sort(md+1,md+m+1,cmp);
for(int i=1;i<=n;i++)
up[i]=i;
for(int i=1;i<=m;i++)
} for(int i=1;i
return 0;
}
JZOJ A組 盟主的憂慮
江湖由 n 個門派 2 n 100,000,編號從 1 到 n 組成,這些門派之間有 n 1 條小道將他們連線起來,每條道路都以 尺 為單位去計量,武林盟主發現任何兩個門派都能夠直接或者間接通過小道連線。雖然整個江湖是可以互相到達的,但是他擔心有心懷不軌之徒破壞這個武林的安定,破壞小道,於是武林盟主...
nssl1256 C 盟主的憂慮 並查集
n個點的一棵樹,增加了m條密道。對於樹上每條邊 a,b a,b a,b 被破壞後,要求a b a sim b a b經過密道最短。引理 對於每個道路被破壞,最多隻會經過一條邊。證明 對於每個答案,被破壞後,所在層數低的點找到一條可以走出他的子樹的邊就好了,如果要走兩條邊,中間的點要不在子樹中,要不在...
2015 10 31的NOIP模擬賽
這是noip前的最後一周了。第一題是個組合數學的問題,規模不算太大。但第一反應就直接dp了,o n 2 的複雜度,始終想不到優化。本來看著1 3 4 6 10 15一串串數覺得多熟悉的,就是想不起來那是組合數。最後只有80分 第二題算是基本想到了吧,但是忽略了乙個問題 我的想法是每行0的個數要麼是當...