HN省队集训2024讲课题解

题单

Nauuo and Pictures (hard version)

考虑 dp。

\(f_{id,i,j}\) 表示对于第 \(id\) 张图片,现在进行了 \(i\) 次操作,其中 \(j\) 次是将某数加一,权值的期望值。 \(\operatorname{O}(1)\) 转移是简单的。

这样时间复杂度是 \(\operatorname{O}(nm^2)\) 的,考虑优化。

考虑将每个照片拆成 \(w_i\) 个同类的且权值为 \(1\) 的照片,那么现在照片就只有两种:\(a_i\) 等于 \(1\)\(a_i\) 等于 \(0\)

那么就可以将 \(id\) 那一位去掉。 设 \(f_{i,j}\) 表示进行 \(i\) 次加一操作,\(j\) 次减一后的期望代价,有转移:

\[f_{i,j}=f_{i-1,j}\times \frac{i+\sum_{k=1}^{n}{w_k[a_k=1]}}{i-j+\sum_{k=1}^{n}w_k} \]

\[f_{i,j}=f_{i,j-1}\times \frac{\sum_{k=1}^{n}w_k[a_k=0]-j}{i-j+\sum{k=1}^{n}w_k} \]

这样时间复杂度是 \(\operatorname{O}(m^2\log m)\),可以通过本题,但预处理逆元可以做到 \(\operatorname{O}(m^2)\)

Anticube

首先有个想法:对每个 \(a_i\) 分解质因数,然后用 \(map\) 找到与之冲突的数,取两者中间出现最多的数。

但这样是 \(\operatorname{O}(n\sqrt{a_i})\) 的,无法通过。(不过好像可以 BSGS?

考虑优化:首先可以先将 \(\sqrt[3]{a_i}\) 内的质因数先除掉,这样是可以实现的。

那么剩下的数就一定是一下几种形式:\(p^2\)\(pq\)\(p\)

首先考虑剩下的是 \(p^2\),那么直接开根就行。

如果剩下的是 \(pq\),那么想要与它凑成完全立方数就只能含有 \(p^2q^2\),但 \(p,q\) 都是大于 \(3000\) 的整数
,所以 \(pq>10^10\),直接将答案加一,不要放进 \(map\)

剩下 \(p\) 同理。

那么这样我们就以 \(\operatorname{O}(n\sqrt[3]{n})\) 解决了这道题。

PS:为了防止类似 abs((__int128)x) 之类的悲剧发生,这边建议手写 \(\log V\) 的开根。(虽然这题没有涉及 __int128,但有精度问题的函数少用)。

Minimum Sum of Maximums P

首先考虑把这个奇怪的贡献拆一下,可以拆成:\(\sum_{i=1}^{n-1}{\frac{a_i+a_{i+1}+|a_i-a_{i+1}|}{2}}\)

为了避免一些奇怪的边界,我们在序列左右插入一个极大值,最后减去即可。

考虑到 \(a_i+a_{i+1}\) 是固定的,所以我们要最小化 \(\sum_{i=1}^{n-1}{|a_i-a_{i+1}|}\)

设区间左边那个固定点值为 \(x\),右边那个值为 \(y\),若 \(x\le y\),那么直接将这段数从小到大排序一定不会更劣。类似的,如果 \(x>y\),那么可以直接从大到小排,证明显然。

对于一段区间,设该区间的最大值为 \(M\),最小值为 \(m\),那么该区间的代价是:

\[|L_i-m|+M-m+|R_i-M| \]

(其中 \(L_i\)\(R_i\) 是这段区间左右固定的数的值)

那么我们现在的任务就是分配每一段的最小值和最大值。

结论:对于两段编号为 \(i,j\) 的区间,这两段区间的值域要么完全包含,要么没有相交。

直接反证是比较简单的。

那么我们就可以设计状态,设 \(f_{l,r,s}\) 表示当前值域区间为 \([l,r]\),已经固定了的区间集合为 \(s\),那么有转移:

  1. 没有值域恰好为 \([l,r]\) 的区间:\(f_{l,r,s}=\min{f_{l+1,r,s},f_{l,r-1,s}}\)

  2. 将两段拼起来,设 \(len_i\) 集合为 \(i\) 的段的长度和,有:\(f_{l,r,s}=\min{f_{l,l+len_T-1,T}+f_{l+len_T,r,s-T}}\)

  3. 正好有 \([l,r]\) 的区间:\(f_{l,r,s}=\min{f_{l+1,r-1,s-{x}}+Calc_x{l,r}}\),其中 \(Calc_x{l,r}\) 是第 \(x\) 段值域为 \([l,r]\) 时的代价。

这样时间复杂度是 \(\operatorname{O}(3^kn^2)\) 的,瓶颈在第二个转移。

咕咕咕

posted @ 2024-05-08 21:22  caoshurui  阅读(133)  评论(0)    收藏  举报