- 想知道如何实现双关键字dp吗click it!
- 三进制状压可以用四进制来写,从而用位运算方便计算
- 枚举一个二进制数i的真子集可以通过如下代码进行:
- ∑nx=0Cxn∗2x可以用来表示对于每个n位2进制数,枚举其所有子集的总枚举量,用二项式定理可知结果为3n,可以用来算状压dp复杂度
- 树形背包的上下界一定要想清楚,要卡的严一点,具体复杂度不会证,但只要卡到最小就是对的,一般来说写成刷表更容易一些
- 树上背包复杂度利用上下界优化,可以优化到O(NM)或O(N^2),当然也有其他的优化方法,例如先序遍历优化,左儿子右兄弟表示法等复杂度分析
- 涉及时间的题目,考虑以时间为阶段DP
- 在涉及单调队列优化和斜率优化等优化时,往往刷表法不能进一步的优化,必须要换成填表法。
- 数位dp的init数组,记得在主函数中调用
- 初始化递推数组时,要注意收益为0和非法情况要区分开!!!P1280 尼克的任务
- 斜率优化时,用单调队列或单调栈维护凸包时,考虑新加入的点是否有可能横坐标相同,需要特判。维护下凸包时,保留下面的点,删除上面的点;维护上凸包时,保留上面的点,删除下面的点。
- 当对一个序列进行dp时,注意如果这个序列的dp顺序不影响答案,可以考虑按某种关系排序,使得序列具有某种性质,从而更方便转移[NOI2015] 寿司晚宴
- 状压dp的转移顺序,有时候要从二进制数中1的个数从少到多转移
- 状压dp的转移通常比较复杂,很多时候用刷表更容易实现
- 考虑对于决策集合是否满足某种性质,从而只有一个特殊点是最优的[JSOI2009]火星藏宝图
- 考虑数形结合,看是否能用单调队列维护 道路游戏
posted @
2021-11-14 13:26
glq_C
阅读(
78)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具