【考试总结】2022-07-18
草莓蛋糕
拆开 :对于商店 设 ,对于商店 设 ,那么可以通过 的大小关系来判定是使用 还是 贡献
将 离散化后使用线段树来求答案,每个叶子维护两个商店的 最小值,可以使用 multiset
,再合并左右子区间根据实际含义维护即可,这里实际含义即左边每个叶子的 都小于右侧的
矩阵补全
将 视作集合幂级数,对于 的元素不做 FWT,否则让做啥运算就做啥运算的 FWT
求出来点值快速幂,然后做一遍逆变换
上一道使用这个形式计算的题是 THUPC2019 找树,今天没读明白题。
万灵药
题 目 说 啥 你 干 啥
题目中提到先求 LCS 再求 LCP 就建两个 SAM 实现。将 放到反串 SAM 上定位,对答案的改变量就是找到所有已经挂到树上的点和它的 的最大长度
吗?
这在该点和 LCA 存在父子关系时需要特殊处理,挂到相同节点就是两个元素长度取 ,其中之一是另外一个的严格祖先就是长度较小者的长度。
为了简单处理,可以将长度平摊到根链上的每个点,每个点维护它的不包括自己的子树中的节点数量并乘 即可
挂到一个点的部分需要每个点开一个线段树,剩下的都用树剖维护即可,时间复杂度 ,只写了动态开点就跑了 1.8s 那么这不是一个好的做法
标算将求 LCP 的过程挪到了 Trie 树上来避免多个子串共点的情况,考察求两个前缀 LCS 的过程可以发现不是 SAM节点最长长度对应的串不会在 LCS 中出现,那么问题被简单化至可以解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律