tricks + 性质 + 血泪教训(
注意力惊人
-
注意到树是一个二分图。
-
注意到网格图也是二分图。
-
注意到
。
tricks?
-
有时候可以尝试二分最后的答案,把不好维护的东西变成
和 。【P2824 排序】 -
可以很好维护静态询问但是需要支持修改的情况可以尝试将操作分块维护(?)。【P5443 桥梁】
-
dp 有后效性但影响范围很小可以考虑把后续决策压缩起来当成一维。P2157 学校食堂
-
当前决策对后续的影响固定但不好从后续推过来可以把费用在此时计算。【P2365 任务安排】
-
严格递增不好做可以考虑所有 ,限制变为严格不降。【CF713C Sonya and Problem Wihtout a Legend】 -
从小到大填字典序出问题了可以考虑倒着从大到小填字典序。【CF825E Minimal Labels】
-
维护出现次数的平方考虑拆贡献,即多出现一次对答案的贡献。可以拓展到维护其他东西。【CF802I】Fake News (hard)
-
求树上两个路径的交时,先对两个路径的端点两两取 lca,然后取深度最小的两个点作为新路径的两个端点,如果新的端点深度小于原来两个路径的 lca,代表路径无交。【HDU-6110 路径交】
-
随着 的增大最多只有 个不同的取值。【P9032 Neboderi】 -
可以把所有 到 的路径加一,然后查询 到 的路径和。来源某场模拟赛。 -
对经过的边的起点有限制可以从终点反着来。【CF1407 Egor in the Republic of Dagestan】
-
SAM、ACAM 等可以结合线段树合并。【CF666E Forensic Examination】
-
lca 可以通过预处理做到
。具体地,st 表预处理一段 dfs 序区间中深度最小的点的编号,令查询节点为 ,特判 的情况后,答案为 。 -
lcs 或 lcp 问题具有单调性可以二分长度。【P4094 字符串】
-
随机数据下字符串的 border 长度不会太长。
-
dp 计数去重的时候可以限制转移顺序保证你的结果在你的限制下有且仅有一种方式可达。【CF53E Dead Ends】
教训 & 名人名言
-
石堆:做撤销的时候一定要从后往前撤销。
-
吃饭:你猜结论要知道自己猜的方向,哪些跟你统计的东西相关你往那边去猜。
-
无根树哈希时把子节点按哈希值排序再做。
-
递归函数如果有全局变量记得注意递归之后值可能有改变。
-
期望题式子带平方一定要拆平方。
树的重心
在一个无根树中,以重心为根,该树最大子树的节点最少。放一些链接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具