摘要:
"Link" 结论:后手必胜当且仅当根节点为直径中点。 根节点为直径中点: 如果两人都在直径上移动,那么不论先手如何移动,后手总能移动到对称的位置。 如果先手移出了直径,设这一点与根节点的距离为$x$,那么后手仍然回到直径上距离根节点$x$的点。 其它的情况先手只需移动至直径中点(当直径中点在边上时 阅读全文
摘要:
"Link" 显然对于每个点而言,它在两棵树中的儿子数的奇偶性必须相同。 然后我们将两棵树分别建出来,建一个超级根与两棵树的根相连,并且对于儿子数为奇数的点,将其在两棵树中的点连边。 这个无向图每个点的度数都是偶数,我们找一个Euler回路出来。 对于一个点,如果它的儿子数为偶,那么让它的权值为$0 阅读全文
摘要:
"Link" 根据拟阵的理论,从大到小枚举girl,如果加入当前girl之后又完美匹配那么就选择该girl,否则就不选。 剩下的就跟 "Link" 很像了。 阅读全文
摘要:
"Link" 整个做法类似于 "Link" 。 阅读全文
摘要:
"Link" 先建出SAM并维护每个endpos集合中元素的最后出现位置$pos$。 那么对于一个点$p$,若$link_p$的endpos集合中有元素在$[pos_p len_p+len_{link_p},pos_p 1]$中出现,那么说明$link_p$中的元素必在$p$的元素中出现至少两次。 阅读全文
摘要:
"Link" 树上差分+线段树合并。 阅读全文
摘要:
"Link" 一个显然的做法是树剖+二分+Hash。 先树剖并预处理dfs序、从某个点到根的字符串以及它的反串的Hash值。 对于一个询问,我们把它拆成$O(\log n)$段重链。 利用dfs序我们可以快速地求重链上某个点的$k$级祖先,所以直接一段段重链做,每次二分一下就行了。 注意到如果有某一 阅读全文
摘要:
"Link" 将题意进行一些简化:初始有$k$个非负整数,每一轮操作所有的数都会减一,你可以选择一个数使它加$k$。当某个数变为$ 1$时无法继续进行操作。 那么假设进行了$x$轮,数的状态为$b$,这个状态是合法的当且仅当: $1.\sum\limits_{i=1}^ka_i=\sum\limit 阅读全文
摘要:
"Link" 先转化模型:给定一个有向图,若图中存在$(u,v),(v,w)$,那么可以连$(u,w)$,求最后有多少边。 那么我们现在先把每个弱连通块分开讨论,显然不同弱连通块之间是互不影响的。 把这个连通块三染色($R\rightarrow G\rightarrow B$),如果无法染色,那么这 阅读全文
摘要:
"Link" 在放的过程中,被覆盖的位置会形成若干个区间。而我们并不需要关心区间的位置,只需要关心其长度。 设$f_{i,j,k}$表示用了$i$条线段,形成了$j$个区间,长度和为$k$的方案数。 我们将所有线段按$L$降序排序,然后依次枚举。 边界状态为$f_{1,1,L_1}=1$。 对于$f 阅读全文