description
圖中有n個點,每兩點間只有唯一的路徑,對於這樣乙個給定的圖,最大的「毛毛蟲」會有多大。毛毛蟲包含一條主鏈,毛毛蟲中的節點,要不在主鏈上,要麼和主鏈上某節點相鄰,如下圖所示有兩隻合法的毛毛蟲,點數越多,毛毛蟲越大。
輸入檔案第一行兩個整數n,m(n≤1000000)
接下來m行,每行兩個整數a, b(a, b≤n)
你可以假定沒有一對相同的(a, b)會出現一次以上。
output
乙個整數ans,表示最大的毛毛蟲的大小。
sample input
5 41 2
1 34 1
5 1sample output
5data constraint
hint
【資料規模】
1. 對於20%的資料,n≤200
2. 對於40%的資料,n≤5000
3. 對於100%的資料,n≤10^6..
....
.分析
我們可以先將每個點轉化為乙個帶權的點,權為該點的度數, 然後就和在一棵樹上求最長鏈一樣了。..
....
程式:
#include#include#includeusing namespace std;
int ans=0,q=0,head[1000010],tj[1000010],cnt=0;
struct edge
e[2000010];
void add(int x,int y)
void dfs(int x,int y,int l)
for (int i=head[x];i;i=e[i].from)
if (e[i].to!=y) dfs(e[i].to,x,l+tj[e[i].to]-1);
}int main()
dfs(1,0,tj[1]+1);
dfs(q,0,tj[q]+1);
printf("%d",ans);
return 0;
}
JZOJ 1752 無聊的草稿
圖中有n個點,每兩點間只有唯一的路徑,對於這樣乙個給定的圖,最大的 毛毛蟲 會有多大。毛毛蟲包含一條主鏈,毛毛蟲中的節點,要不在主鏈上,要麼和主鏈上某節點相鄰,如下圖所示有兩隻合法的毛毛蟲,點數越多,毛毛蟲越大。輸入檔案第一行兩個整數n,m n 1000000 接下來m行,每行兩個整數a,b a,b...
無聊的生活,無聊的世界
最近是越來越無聊勒呢,我發現最近的我好像有點神經.神經兮兮的,我承認我以前就愛說,愛瘋,愛鬧,但是八,最近好像比以前還嚴重勒呢.阿,阿,算一算好像好長時間沒出家門勒呢 蛤蛤,自從退學好像越來越頹廢勒,不點阿不點,你完了,你真的完了,誒阿,一天就在家呆著,吃喝拉撒睡玩.這小生活過的,蠻享受的,但是就是...
無聊的python課程 Python無聊的總結
在公司無聊的時候看了前輩寫的python 突然發現乙個比較好玩的python表示式 1 lambda x,y x y 咋一看,這個應該類似方法之類的,上網查了查,所以特此總結下 lambda 上 冒號前邊的代表引數 冒號後邊的代表表示式 返回值型別跟引數有關 1 lambdax x2 at 0x01...