4.8
01串
树上路径
DP。设 为 子树 , 向下有一条长为 的链的答案,转移时需要拼接 和 ,需要再开一个数组表示前面子树剩下 条长为 或 的链的答案,转移复杂度为度数的平方。结论:随机 的序列前缀和最大值为 级别。因此把出边 shuffle
后只考虑尽量大的 即可,时间复杂度
思路考场上想的差不多, 但实现很恶心,常数&码量都爆炸,我果然只会背板
4.7
星际广播
枚举最后变成的字符,给每个位置赋权 ,问题变为 个长为 的区间能覆盖的最大权值和
暴力 DP 是 的,根据实现可以获得 60~68pts。设 个区间的答案为 ,那么 构成上凸包,可以 wqs 二分。简证凸性:记第 个区间新覆盖的权值为 ,那么 ,否则调换更优
4.6
Fable
ycx 的极简做法: 轮冒泡排序后最小的元素一定是 ,次小的则是前 个元素中次小的,甚至可以做到
Fiend
看到奇加偶减考虑构造行列式,不难得到
发现每行都是一段连续的 ,考虑找到该列有元且右端点最小的行,用该行消元后仍然满足每行是连续的 。对于每个左端点,用可并堆维护对应的右端点即可
维护主元与行号的双射即可解决交换行值取反
4.3
Max (CSA Expected Max)
很小,可以状压决策集合,逐个添加元素。
设 为第 个元素在且仅在操作集合 中被加,值为 的概率; 为前 个元素占用了操作集合 ,最大值为 的概率
枚举 给 加了多少可以 计算 ,预处理 前缀和,枚举子集可以 转移到
Paint (ARC063F)
一个比较简洁分治做法,较线段树做法常数和码量都更小
两层分治枚举 上的中线,统计跨过中线的矩形。求出每个左/右边界对应的上下边界,通过旋转坐标系使得矩形右上角位于右上区域。下边界在右下区域可以单调指针求出左边界;下边界在左下区域可以单调队列维护左边界
不难发现答案下界为 ,很难想到不跨过 的矩形周长上界为 ,因此答案一定跨过 或 ,可以省掉一个分治。时间复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】