2023.4.20

T1

\(P\) 是任意一个 \(1\)\(n\) 的排列,最大化

\[\sum_{i=1}^{n}P_i\space\text{mod}\space i \]

答案显然 \(\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\)

\[sum(i)=\sum_{x=1}^{n}\sum_{y=1}^{n}\lbrack\gcd(x,y)=1\And\lfloor\frac{n}{max(x,y)}\rfloor=i\rbrack \]

去掉 \(\max\) 就是

\[sum(i)=\sum_{x=1}^{n}\sum_{y=1}^{x-1}\lbrack\gcd(x,y)=1\And\lfloor\frac{n}{x}\rfloor=i\rbrack \]

中间那个东西就是 \(\varphi(x)\) :

\[sum(i)=\sum_{x=1}^{n}\lbrack\lfloor\frac{n}{x}\rfloor=i\rbrack\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}\) 个数,可以理解为自由元个数。

posted @ 2023-08-06 19:56  SError  阅读(18)  评论(0编辑  收藏  举报