loj2587 APIO2018 鐵人兩項

2021-08-20 15:19:26 字數 1063 閱讀 4338

建立圓方樹 考慮我們要求解的其實是 圓方樹上任意兩個圓點之間的路徑和

當然方點的點權就是e這個點雙包含的點的個數 為了去重圓點的權值就是-1 我們考慮如何計算這樣 任意兩點的權值和 我們不妨假設 我們列舉每個中間點 然後看他會對多少對圓點產生貢獻即可 就在樹上跑一下 注意在圓點的時候 因為這個圓點的-1 也會產生貢獻 所以每個圓點實際上對於所有的圓點都可以產生貢獻 圖不連通..

#include

#include

#include

#define ll long long

using namespace std;

inline char gc()

return

*s++;

}inline int

read()

while (isdigit(ch)) x=x

*10+ch-'0',ch=gc();

return

x*f;

}const int n=1e5+10,m=2e5+10;

struct nodedata[m<<1],data1[m<<1];

int h[n],h1[n<<1],cnt,num,w[n<<1],size[n<<1],sum,s;ll ans;

int n,m,dfn[n],low[n],q[n],top;

inline void insert1(int

x,int

y)inline void dfs(int

x,int fa)while(v!=y);

}}else low[x]=min(low[x],dfn[y]);

}}inline void dfs1(int

x,int fa)

ans+=(ll)(sum-size[x])*size[x]*w[x];

if (x

<=n) ans+=w[x]*(sum-1);

}int main()num=0;

for (int i=1;i<=n;++i)printf("%lld\n",ans);

return

0;}

Loj 2568 APIO2016 烟花表演

烟花表演是最引人注目的節日活動之一。在表演中,所有的烟花必須同時 為了確保安全,烟花被安置在遠離開關的位置上,通過一些導火索與開關相連。導火索的連線方式形成一棵樹,烟花是樹葉,如圖 1所示。火花從開關出發,沿導火索移動。每當火花抵達乙個分叉點時,它會擴散到與之相連的所有導火索,繼續燃燒。導火索燃燒的...

2018APIO 進京趕考

先見識了一下ctsc的操作。漲了見識。打鐵匠x1 見識了個全英文的ppt,各種講課其實真的講的很好,只是邏輯性太強反而讓完全不會的同學有些尷尬。linux真的令人窒息。guide用不起就算了,控制台除錯。報錯直接密密麻麻打5頁螢幕看都看不懂。編譯都編譯不起我還玩個啥?我就聽懂了凱老師的講課,彈幕令人...

遊記 APIO2018遊記

update 雞排真好吃,明年有機會再來北京van明天就要去北京浪了,於是在模擬apio2015前嘗試去做了hash,很愉快地wa了,就開始了模擬apio2015的比賽。a題亂搞,c題亂搞,b題結果暴力都沒寫出來。感覺這為後面暴力沒搞出來暴力打好了堅實的基礎 hdhd過金牌線。總體還是很愉快的,每個...