Luogu5234 JSOI2012 越獄老虎橋

2022-05-07 22:54:22 字數 967 閱讀 7931

題面:洛谷

題意中的要求即為割掉權值最小的割邊,所以先把圖縮點(這裡應該是邊雙連通分量),現在考慮增加一條邊會對縮點後的樹造成什麼影響,無非是成環,然後環上的邊不能割掉。現在考慮貪心,從小到大加邊,若這些邊在一條鏈上,就繼續,反之輸出答案,用\(lca\)維護即可,注意特判。

// luogu-judger-enable-o2

#include#define n 500005

#define m 1000005

using namespace std;

int n,m;

#define gc() getchar()

inline int in()

inline int min(int a,int b)

int main()

dfs(1,-1); e_tot=0; memset(h,0,sizeof(h));

for(int i=1;i<=m;++i);}}

dfs1(1,-1,0); dfs2(1,1); sort(ed+1,ed+1+ec);

int a=ed[1].u,b=ed[1].v,pre=lca(a,b); if(d[a]>d[b]) swap(a,b);

for(int i=2,u,v;i<=ec;++i)

if(p1==u&&p2==v)

if(d[p3]<=d[a])

printf("%d\n",ed[i].w); return 0;

}else

if(p3==b&&p4==b)

if(d[u]>=d[pre]&&p1==u&&p2==v) continue;

if(d[u]>=d[pre]&&p3==u&&p4==v) continue;

printf("%d\n",ed[i].w); return 0;}}

printf("-1\n");

return 0;

}

JSOI2012 玄武密碼

傳送 這道題就是乙個sam的水題 所以這也是一篇很水的部落格 我們建完sam後,把每乙個串放上去跑就行了。因為題目要求字首匹配,所以一旦失配,就直接返回了。include include include include include include include include include ...

Luogu1197 JSOI2008 星球大戰

並查集水過。想必順著題意只能暴力了,因為涉及到拆點很麻煩 所以我們反著來 笑 仔細想想,反著來不就是建點了嗎 233 於是並查集判斷聯通塊,ok大功告成 eg 那個資料範圍是真的坑!1 n 2m 硬生生看成 1 m 2n 60分re了半天.include include const int maxn...

Luogu2792 JSOI2008 小店購物

luogu2792 jsoi2008 小店購物 重題 bzoj4349 最小樹形圖 有 n 個物品,每個物品有 c i 和所需個數 k i 所有物品必須恰好買 k i 個。有 m 種優惠方案給出 x,y,w 若買過至少一件 x 物品,則 y 物品只需 w 的 w,資料中所有 x,y 不同且 x ne...