11月27日考试 题解

CF场,自闭了。

T1

给定$n$,若对于$forall i,jin[1,n]$,有$|i-j|$整除$n$,那么$i$和$j$必须属于同一种颜色。问有多少颜色存在。

结论题。若$n=p^k$($p$为质数),那么答案为$p$;否则答案为$1$。

T2

原题:CF525B

可以将路径分为上行和下行,然后发现是个区间乘区间求和,直接树剖即可。注意判断路径两端点相同的情况……

T3

原题:CF875F

可以将一个$b$对应的两个$a$连边,如果选了这条边就看成选了这个$b$。那么最后形成的是边权和最大的基环树或者树形成的森林。然后可以kruskal做了。具体实现要讨论一下当前要合并的两个点$x,y$是否在同一集合且所在子树是否是基环树。

T4

原题:CF1292C

首先有:

$large S=sumlimits_{1leq u<vleq n} mathrm{mex}(u,v)$

$ large = sumlimits_{x=1}^n sumlimits_{mathrm{mex}(u,v)=x} x$

$large =sumlimits_{x=1}^n sumlimits_{mathrm{mex}(u,v)geq x} 1$

也就是说对于每个$x$要统计至少包含了$0$到$x-1$所有数的路径数量。假设现在已经放了$0$到$x-1$,现在考虑放$x$。若想让答案变大,那么$x$一定放在同一条路径上。发现最后放置的数形成一个单谷序列,然后可以考虑DP。设$dp(u,v)$表示将$0$到$l-1$放在$<u,v>$上答案最大可能值,那么有转移$dp(u,v)=max(dp(u,p_{u,v}),dp(v,p_{v,u}))+s_{u,v} imes s_{v,u}$,其中$p_{u,v}$表示以$u$为根时$v$的父亲,$s_{u,v}$表示以$u$为根时$v$子树大小。

原文地址:https://www.cnblogs.com/Invictus-Ocean/p/14048581.html