自闭集训 Day3

图论

NOI2019 D2T1

没有真正建出图来的必要,可以直接打取\(\min\)的\(tag\)。

也可以把边压进堆里,然后变成一个二维清点问题(???),然后就线段树+并查集(???)。

POI 2014/2015 某题

类似于GDOI2019,线段树或者堆直接做。

Gym101372 E

首先肯定要缩点。

给每个点赋一个随机权值,然后把每一个点的权值更新成能到的所有的点权值的min。

由于\([0,1]​\)的\(n​\)个随机权值的\(\min ​\)期望是\(\frac 1 {n+1}​\),而我们现在已经知道了\(\frac 1 {n+1}​\),于是可以解出\(n​\)。

多做几遍取平均,就做完了。

SD省队集训 D1T1

首先,把每一条边都取一遍,但这样可能会使得某些点度数为奇数,不存在欧拉回路。

于是问题就变成给一个01串,有一些边可以使得两个点的权值都异或1,问把所有点的权值都变成0的最小代价。

由于边权很特殊,就可以直接做最小生成树(或者二分最大的权值然后瞎搞应该也可以)。

Hihocoder Challenge 28

考虑魔改Matrix Tree定理。

给每一条边的权值设成一个多项式:
\[
\sum_{i=0}^k w^i \frac 1 {i!} x^i
\]
然后直接插值就没了。

最小方差生成树

首先发现\(f(\sigma)=\sum_{i=1}^{n-1} (\sigma -w_i)^2​\)必定在\(\sigma​\)取到平均值的时候取到最小值,所以可以枚举\(\sigma​\)然后做kruskal。

又发现kruskal只和边的大小关系有关,而大小关系只会变化\(m^2​\)次,所以有了一个\(O(m^3\log m)​\)的做法。

可以发现,每条边存在于最小生成树的时间一定是一段区间。我们只需要求出这个区间就可以得到答案。

对于一条边\(e\),什么时候才能被加进去?必须要对于每一个包含\(e\)的环上的边的最小值\(w\),都有\(\sigma >(w+w_e)/2\)的时候\(e\)才能被加进去。

什么时候会被删掉?其实也是同理,只要有一个环满足~~~就可以删掉。

所以用LCT动态维护最大生成树搞出\(l,r\),然后按时间跑一遍,就做完了。

某题

首先肯定要二分答案,然后把一个点四周四个小三角形拿出来。这些小三角形要满足对立的两个必须选恰好一个,而有重叠的不能选。

然后就做完了。

TCO Hard

限制等价于三个点两两不在\(Q\)的同一个子树里。

首先把1提为根,记\(f_{x,y}\)表示\(x\)是否在\(y\)的子树里。

于是我们有
\[
f_{x,p}=1\rightarrow f_{x,fa_p}=1\\
f_{x,p}
=0\rightarrow f_{x,son_p}=0\\
f_{x,1}=1\\
f_{x,s1}=1\rightarrow f_{x,s2...k}=0\\
f_{x,Q}=0\rightarrow f_{y/z,Q}=1\\
f_{x,son}=1\rightarrow f_{y/z,son}=0
\]
注意两个人是可以站在同一个位置的。

似乎就没了????

CF547D

掉线……

一开始看错了题,后面才知道原来棋子的位置都是不变的,只是要染色。

考虑把行列看做点,棋子看做边,那么就变成了一个二分图。

先想如果必须黑点白点相同该怎么办。此时每个点的度数都必须是偶数,然后就可以找出某一个欧拉回路的方案,然后把从左到右的边作为黑点,从右往左的作为白点。

如果可以相差1呢?度数是偶数的点还是必须要相等,而奇数的点就较为麻烦。题解给的做法是两边各建一个虚点,奇数的点向对面的虚点连边,如果两个虚点的度数也是奇数那么再互相连边,然后求欧拉回路即可。

某题

首先,如果贡献的不是\(m^2\)而是1,那么大家都会,就是\(2^{非树边条数}\)。

如果贡献的是\(m\),那么就可以枚举每一条边,观察这条边是不是桥边,然后乱搞。

贡献的是\(m^2\),那么仍然枚举两条边强制选。如果两条边里面有边是桥边,那么肯定没了。否则,如果删去两条边连通情况不改变,那么很容易搞。如果改变,那么就多了一个连通快,也很容易搞,但贡献不同了。

所以,我们就是要求有多少对边,使得他们不是桥边,而且删掉之后连通情况不改变。

对于某一对边,如果都是非树边那么显然不变;如果一条树边一条非树边,那么当且仅当那条树边只被那条非树边覆盖的时候连通情况改变;如果两条树边那么当且仅当两条边只被同一条非树边覆盖的时候连通情况改变。

于是有一个神奇做法:对于每条非树边随机一个权值(树边的初始权值为0),然后把它覆盖的这一条树上的链的值全都异或上自己的权值,那么就可以直接数权值相同的边的对数。

然后就没了。

05-11 22:10