solved:3
rank:261
e explorer (線段樹)
題意:n個點 m條邊 每條邊只有身高l,r內的人可以穿過 問有幾種身高可以從1走到n
題解:把l,r離散化後(左閉右開) 線段樹葉子節點維護區間 然後從線段樹根節點dfs下去
這個區間能不能產生貢獻的關鍵在於1和n的聯通 所以用可撤銷的按秩並查集動態維護資訊
回溯的時候要撤掉並查集 不能對其他子區間產生影響
#include usinge explorernamespace
std;
const
int maxn = 1e5 + 5
;int
n, m, cnt, ans;
int u[maxn], v[maxn], b[maxn << 1
];int
l[maxn], r[maxn];
intfa[maxn], zhi[maxn];
vector
g[maxn << 3
];int find(int
x) void update(int ql, int qr, int x, int l, int r, int
rt)
int mid = l + r >> 1
;
if(ql <= mid) update(ql, qr, x, l, mid, rt << 1
);
if(qr > mid) update(ql, qr, x, mid + 1, r, rt << 1 | 1);}
void dfs(int l, int r, int
rt)
if(find(1) ==find(n))
else
if(l
for(int i = tmp.size() - 1; i >= 0; i--)
}int
main()
sort(b + 1, b + 1 +cnt);
cnt = unique(b + 1, b + 1 + cnt) - (b + 1
);
for(int i = 1; i <= m; i++)
dfs(
1, cnt, 1
); printf(
"%d\n
", ans);
return0;
}
2019牛客多校 Round3
solved 3 rank 105 治哥出題了 我感動哭了 a graph game 分塊 題意 1e5個點 2e5條邊 s x 表示與x點直接相鄰的點集合 有兩種操作 1種將按輸入順序的邊第l條到第r條邊翻轉 連線 切斷 切斷 鏈結 還有一種詢問 s x 與s y 是否相等 題解 題解說 可以給每...
NOIP四校聯訓Round8小結
這次考得一般。第一題a了,不說了。第二題主要是抓到乙個性質,然後也a了。主要問題在時間分配上面,一二題的ac花費了我不少時間和精力,我第三題沒怎麼想直接輸出 1了。回來想想,不長,思路就是二分 貪心,其實還是可以一試。主要是沒時間了。第一題我求穩寫了3個資料範圍的 第二題找性質也花了不少時間。因為到...
四校聯訓Round8心得體會
考得不是很好。第三題沒有寫出來。第一題組合數學,又是到了最後乙個小時才想出來,還好最先寫了80分的dp 不過當我想出來怎麼做的時候,卻發現取模的不是乙個質數,然後我沒想到怎麼辦就放棄了。正解應該是勒讓德定力分解質因數加快速冪。第二題相當於暴力的神題吧。當且僅當每一行有一半的燈是亮著的才能把我的 卡到...