```cpp /* 题意:求所有线段子集的并集连通块数量之和。 思路:每个连通块由左端点最小的线段唯一代表。扫描端点,当遇到第 k 个左端点时, 已有 c 条线段完全结束。让当前线段成为新连通块起点的方案数为 2^(c+n-k)。 */ #include using namespace std; using ll=long long; const int...
```cpp #include using namespace std; using ll = long long; const int N = 100005; int n, rt, tot; int ch[N][2], sz[N], va[N]; unsigned ky[N], sd = 71236721; unsigned rd() { sd ^= sd...