AtCoder Beginner Contest 287
纯纯手速场
遗憾离场
C
首先这张图必须是一棵树,必有 。
接下来只需求出树的直径,判断其长度(边数)是否为 即可。
D
考虑算出来 表示 的最长公共前缀/后缀的长度,这个可以直接线性算出。
那么 符合条件的充要条件是 且 ,于是就做完了。
E
树板子题,真的不知道咋说,OI Wiki 上就有
可以参考:https://www.cnblogs.com/YunQianQwQ/articles/16054560.html
F
设 分别表示:以 为根的子树,选/不选 时,得到 个连通块的方案数。
- 如果不选 , 的各个子树互相独立,因此只需枚举每个儿子做卷积,即 。
- 如果选了 ,考虑 的某个儿子 ,如果同样选了 那么连通块个数需要 ,否则不变。因此有 。
根据树形背包的经典结论,每两个点只会在 处贡献一次,总的复杂度为 。
G
显然对于一次询问,我们应该取出前 大进行求和。
考虑设 ,即所有 为 的类型的 card 的上限之和。
用线段树维护序列 ,每个节点维护区间内 的和与 的和;若要选 个数,在线段树上二分,看右儿子区间内 的和是否 ,如果是则递归进右子树,否则递归进左子树并加上右子树的 。
离散化一下,总的时间复杂度为 。
Ex
考虑 Floyd,从小到大加点,每加一个点就扫一遍每个询问更新答案
使用 bitset
优化传递闭包,复杂度 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】