5.8 CW 综合训练 练时记录
看题
顺开, 题还是读的懂得
验证一下世俗意义下我能做到什么难度
\(\textrm{A - Tournament}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
显然是一个满二叉树的形式
考虑直接贪心会完蛋, 于是考虑做类似分治
注意到一层的复杂度 \(\mathcal{O} (2^n)\), 总复杂度 \(\mathcal{O} (2^n n)\)
简单写一下
\(\textrm{B - Laminate}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
先考虑 \(K = 0\)
这个子问题之前做过的, 挺牛的
注意到这种情况下, 花费为 \(\sum_{i = 1}^{n} \max \{h_i - h_{i - 1}, 0\}\)
太美丽了, 想一下该怎么想到这个东西
其实就是每次遇到低点了, 后面的花费就重新算了
考虑 \(k\) 的影响, 发现 \(n\) 很小多半不是贪心, 应该是什么 \(\mathcal{O} (n^3)\) \(\rm{dp}\) 之类的
不难发现修改一列的最优解是和他左边调到一个高度, 调低调高都亏, 直接做分段 \(\rm{dp}\) 就好了
看题解发现子问题同时也是考了两次的积木大赛, 令人忍俊不禁
\(\textrm{C - Fuel Round Trip}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
问题疑似就在这个往返上
不太会
找点性质
钱神直接把性质给我了, 那很牛了
这篇写一下的
\(\textrm{D - Manhattan Cafe}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
要找有多少长为 \(n\) 的序列 \(r\), 使得 \(\sum_{i = 1}^{n} |r_i - x_i| \leq D \land \sum_{i = 1}^{n} |r_i - y_i| \leq D\)
不难想到一个简单的 \(\rm{dp}\), 设 \(f_{i, l_1, l_2}\) 表示考虑前 \(i\) 个, 之前的距离 \(x\) 之和为 \(l_1\), 距离 \(y\) 之和为 \(l_2\) 的方案数
这个需要枚举每个位置上的 \(r_i\), 状态数在 \(10^8\) 左右, 比较完蛋
稍微把转移写一写, 要卡下上下界
下面令 \(c_i = x_i - y_i\)
优化目标大概要到 \(\mathcal{O} (n V^2)\), 需要优化一维
发现方程假了, 这样子算不行的, 每次的 \(\left| c_i \pm x \right|\) 是可能重合的, 还是要枚举当前这个位置的 \(r_i\)
那么好像可以拆绝对值处理, 然后前缀和优化一维即可
不想打了
中间看了下 \(\rm{E}\), 发现不会解带环 \(\rm{dp}\), 于是看了题解, 这个就不管了
\(\textrm{F - Double Sum 3}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
考虑 \(f\) 的计算
先把对应的值域掏出来, 发现对应的就是值域区间个数
怡园丁真, 鉴定为拆贡献
然后简单钦定一下就做完了
总结
一定要注意策略, 心态要好

浙公网安备 33010602011771号