合集
开坑记录一下做题过程中遇到的有用有推广意义的
数学
概率期望
容斥
对于一类求形如 “...... 都被满足” 或者 “至少满足一个条件” 等字眼时,不放考虑其对应的
- 省选模拟赛
:对于每一行每一列的 是较容易直接计算的,再套用 容斥即可。
数据结构
寻求局部单调性
一类求解最大/最小值的题目,也许全局没有单调性,无法直接二分。但如果 树链、子树 等存在单调性,可以利用这个分段二分。
- 省选模拟赛
:枚举起点,每一条重链上存在单调性,直接线段树上二分即可。
计数
拆贡献
一类题目要求对所有情况下计数,每种情况中每个部分有其对应的贡献,可以考虑对于每个部分计算其在所有局面中的贡献。
- ARC140D - One to One 每一个连通块必定包含恰好一个环,考虑每一个环出现的次数即可。
可重序列计数极大/极小区间
极大区间 定义:若
极小区间 定义类似。
一类序列上计数问题可以转化成对 极大区间 或者 极小区间 来计数,具体选择哪个看题目中哪个会有更加良好的性质。
- ZROI2523 数区间集 极大区间不交,因此对其计数,再去重一下就行。
树形
最优性问题
图论
树形结构
剥叶子
对于一些相邻节点存在限制关系的问题,可以考虑从叶子的情况入手(因为与之相邻的仅有一个)。
- ARC156C - Tree and LCS 对于每一层叶子结点标号重排即可,然后将其删除,继续考虑剩下的节点。
- ARC143E - Reversi 每次可以确定所有叶子结点与其父节点翻转的先后顺序,建出拓扑图即可。
构造
贪心
二进制运算从高位到低位贪心
从高位到低位考虑,判断每一位能否是
- 省选模拟赛
:将合并操作抽象为树,每次枚举某一位在不影响之前位的情况下是否可以为 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现