「Log」2023.11.7 小记
序幕
早上好冷好冷好冷。
\(\text{6:40}\):冰冻到校。
补昨天的博客,一直补到七点多。
\(\text{7:30}\):模拟赛开题。
题面都很简洁,简单浏览一遍,感觉没什么不可做题。
先开 T1,缩点是显著的,缩完点直接套了个贪心上去。
大样例过不了,开始思考正确性。
用一条链就简单地把自己 hack 了,于是考虑 DP,现有基础上改改就过了。
T2 一眼 DP,数据范围很大,直接开 map,感觉没什么不对的。
T3 感觉是矩乘,先打了个 \(70\) 分暴力,然后去看 T4。
T4 数据范围有点小,可以考虑网络流,但实在套不到现有模型里,多个取最大值的限制并不好搞。
贪心也许可以有部分分,性质分也可以贪心得到。
后来发现这不是没后效性吗,我合并完就只关心两侧颜色和价值了,果断区间 DP,没细节不用脑子,码量还很小。
开摆。
\(100 + 100 + 70 + 100 = 370\),我是稳健性选手。
\(\color{royalblue}{CF1220E}\)
一个边双里面的贡献显然都可以取到,先缩点,缩点后变成一棵树 \(f_{i, 0/1}\) 表示节点 \(i\) 回来 / 不回来最大能得到的贡献(有点麻烦了),简单转移即可。
\(\color{blueviolet}{CF510D}\)
裴蜀定理会给出答案。直接 DP 就行,\(f_i\) 表示 \(\gcd\) 为 \(i\) 时的最小花费,用 map 存一下,每次遍历转移即可。
\(\color{blueviolet}{CF1038E}\)
区间 DP,\(f_{i, j, t1, t2}\) 表示区间 \([i, j]\) 中的色块,合并为一个(不一定全要用)一端点为 \(t1\),另一端点为 \(t2\) 的价值最大值,转移是简单的,特殊考虑翻转即可。(这个做法是假的,只是反例较为特殊!)
间幕 \(1\)
中午吃了披萨,感觉一般,但也算不上难吃。
昏迷了一会,起来改题。
发现 T4 我的做法会被神秘数据卡掉,因为交换并不能和重排等价。
\(\color{royalblue}{CF1038E}\)
考虑转移是暴力转移是简单的,线性的东西考虑用矩乘优化,建一下即可。
尾声
下午什么也没干,晚上听 Zpair 讲题。
回家忘记打 CF 了,睡觉。