日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

poj2478

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 poj2478 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

比較簡單的樹形dp;

定義s[i]為節點i的子樹節點數和(包括自身);葉子節點s[j]=1;?

?s[i]=signma(s[k])+1 (k是i的孩子)

則i滿足的條件是?1.s[k]<=n div 2 ?(k為所有孩子節點)

? ? ? ? ? ? ? ? 2.n-s[k]<=n div 2;

由于n比較大,可以考慮用前向星來存儲,這題想明白了還是很簡單的,最后注意滿足條件的節點升序輸出;

1 type link=^node; 2 ? ? ?node=record 3 ? ? ? ?data:integer; 4 ? ? ? ?next:link; 5 ? ? ?end; 6 var c:array[0..10010] of link; 7 ? ? f,a:array[0..10010] of boolean; 8 ? ? s:array[0..10010] of longint; 9 ? ? i,n,x,y:integer; 10 ? ? w:boolean; 11 ? ? r:link; 12 procedure add(x,y:integer); ? ?//前向星 13 ? var p:link; 14 ? begin 15 ? ? new(p); 16 ? ? p^.data:=y; 17 ? ? p^.next:=c[x]; 18 ? ? c[x]:=p; 19 ? end; 20 procedure treedp(x:integer); 21 ? var ch:boolean; 22 ? ? ? i:integer; 23 ? ? ? r:link; 24 ? begin 25 ? ? ch:=true; 26 ? ? s[x]:=1; 27 ? ? f[x]:=true; 28 ? ? r:=c[x]; 29 ? ? while r<>nil do 30 ? ? begin 31 ? ? ? if not f[r^.data] then 32 ? ? ? begin 33 ? ? ? ? f[r^.data]:=true; ? ? ? ? ? ? ? ? ? ?//前向星是圖結構,這里的標記是建立從父節點到子節點的關系 34 ? ? ? ? treedp(r^.data); 35 ? ? ? ? if s[r^.data]>n div 2 then ch:=false; ?? 36 ? ? ? ? inc(s[x],s[r^.data]); 37 ? ? ? end; 38 ? ? ? r:=r^.next; 39 ? ? end; 40 ? ? if (n-s[x])>n div 2 then ch:=false; 41 ? ? if ch then a[x]:=true; 42 ? end; 43 begin 44 ? readln(n); 45 ? for i:=1 to n-1 do 46 ? begin 47 ? ? readln(x,y); 48 ? ? add(x,y); 49 ? ? add(y,x); 50 ? end; 51 ? fillchar(f,sizeof(f),false); 52 ? fillchar(a,sizeof(a),false); 53 ? treedp(1); ? ? ? ? ? ? ? //生成樹任意一個節點都可以作為根節點 54 ? w:=false; 55 ? for i:=1 to n do 56 ? begin 57 ? ? if a[i] then 58 ? ? begin 59 ? ? ? w:=true; 60 ? ? ? writeln(i); 61 ? ? end; 62 ? end; 63 ? if not w then writeln('NONE'); 64 end. View Code

?

轉載于:https://www.cnblogs.com/phile/p/4473309.html

總結

以上是生活随笔為你收集整理的poj2478的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。