p4121 [wc2005]雙面棋盤
貌似是劉汝佳出的題目??
線段樹維護並查集
線段樹分治\(1\)~\(n\)行,我們要考慮維護的肯定是黑、白各自的聯通塊數量
考慮區間合併,其實就與中間這兩層有關,\((n≤200)\)並查集暴力做一下就好了
#include#include#include#include#includeusing namespace std;
typedef int ll;
const ll maxn=500;
inline ll read()
while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+c-'0',c=getchar();
return x*f;
}ll n,nod,root,m;
ll a[210][210],fa[maxn<<1],belong[maxn<<1];
struct treet[maxn<<1];
ll get_fa(ll x)
inline void first(ll now,ll x)
}inline void update(ll now,ll mid,ll lc,ll rc)
for(ll i=1;i<=n;++i)
}for(ll i=1;i<=n;++i)
for(ll i=n+1;i<=2*n;++i)
for(ll i=1;i<=n;++i)
}void build(ll &now,ll l,ll r)
ll mid(l+r>>1);
build(t[now].son[0],l,mid),build(t[now].son[1],mid+1,r);
update(now,mid,t[now].son[0],t[now].son[1]);
}void change(ll now,ll l,ll r,ll c)
ll mid(l+r>>1);
if(c<=mid)
change(t[now].son[0],l,mid,c);
else
change(t[now].son[1],mid+1,r,c);
update(now,mid,t[now].son[0],t[now].son[1]);
}int main()
return 0;
}
P4294 WC2008 遊覽計畫
題目鏈結 題目描述 從未來過紹興的小d有幸參加了winter camp 2008,他被這座歷史名城的秀麗風景所吸引,強烈要求遊覽紹興及其周邊的所有景點。主辦者將紹興劃分為 n nn 行 m mm 列 n m n m n m 個分塊,如下圖 8 景點含於方塊內,且乙個在這裡插入描述 方塊至多有乙個景點...
P4172 WC2006 水管局長
題目鏈結 題目背景 sc 省 my 市有著龐大的地下水管網路,嘟嘟是 my 市的水管局長 就是管水管的啦 題目描述 每天供水公司可能要將一定量的水從 u uu 處送往 v vv 處,嘟嘟需要為供水公司找到一條從 u uu 至 v vv 的水管的路徑,接著通過資訊化的控制中心通知路徑上的水管進入準備送...
P4172 WC2006 水管局長
bzoj 那個是加強版 lct 維護動態最小瓶頸樹 題意 給乙個圖,每次詢問兩個點之間路徑的最大值的最小值,或斷開乙個邊,始終保證圖連通 用 lct 維護,發現斷邊不怎麼好做,所以離線下來倒序處理,常規套路 就是先跑乙個最小瓶頸生成樹,然後每次加邊,如果加的這個邊的邊權大於它兩個端點間原來路徑的最大...