2023.4.20
T1
\(P\) 是任意一个 \(1\) 至 \(n\) 的排列,最大化
答案显然 \(\frac{n(n+1)}{2}\) .
T2
一棵有根树,多次操作,给一颗子树中的节点增加权值。
板。
T3
\(n\) 支球队打循环赛,给定了每支球队对手的先后顺序。
一支球队一天最多打一场,问结束赛程的最少天数,无解 \(-1\) .
\(n\le 1000\) .
能打则打,把要打的放进 \(\text{vector}\) 里。
然后差不多了。
T4
仪仗队,删 \(m\) 个点,问 \(k\) 条射线整点最大和。
\(T\le3\) ,\(n\le4\times10^6\) ,\(k\le 16\times10^{12}\) ,\(m\le \min(n^2-1,2500)\) .
没有删点怎么做?
先将 \(n\) 减 \(1\) ,记 \(sum(i)\) 为有 \(i\) 个整点的射线数。
显然 \(sum(n)=3\) .
对于其他的 \(i\) 有
去掉 \(\max\) 就是
中间那个东西就是 \(\varphi(x)\) :
对 \(x\) 整除分块可以得到每个 \(sum(i)\) .
统计答案是从 \(n\) 开始找就好了。
删点的话用 \(\text{map}\) 存射线位置和 \(cnt\) ,做一下 \(sum\) 就好了。
T5
膜一下 机房大叠
\(n\times m\) 的矩阵,每个点都为 \(0\) ,可以马走日改变至多 \(9\) 个点的状态,问多少种方案使所有点都为 \(1\) .
\(n,m\le 150\) .
仔细思考发现只确定前两行和第一列就能确定所有点的状态。
把它们拉出来求解异或方程组, \(\text{bitset}\) 优化只需要 \(3n\) 个点。
得出 \(n\times m\) 个点的 \(\text{bitset}\) ,将它们插入线性基里面。
答案是 \(2^{cnt}\) ,\(cnt\) 是无法插入的 \(\text{bitset}\) 个数,可以理解为自由元个数。