01 2025 档案
摘要:一本通题解 T2: 再也不想碰这道题了。。。写了一下午。 我们先设状态 表示前i个刷匠,考虑了前 个木板后所获得的最大价值( 个木板可以有空余)。 然后枚举前 个刷匠,枚举每一条木板。 对于一条木板可以此刷匠根本不刷,或不刷当前木板,状转方
阅读全文
摘要:状压dp 应用背景以集合为状态,集合一般可以用二进制表示,用二进制的位运算处理 集合问题一般是指数复杂度的,例如:1.子集问题,设n个元素没有先后关系,那么一共有 个子集;2.排列问题,对所有n个元素进行全排列,共有 个排列 状态压缩:主要就是dp的一种状态,与dp转移
阅读全文
摘要:树形dp 树上做dp非常常见,因为树本身有子结构性质(树和子树) 一般解题思路:先把树转化为有根树(如果不连通的树,就加一个虚拟根,它连接所有孤立的树),然后在做dfs,递归到叶子节点,再一层层返回信息,就在这一步做dfs P2015 二叉苹果树 定义状态 表示以节点u为根
阅读全文
摘要:数位dp T3: 应该先从这道题入手数位dp,首先理解数位dp,dp了什么东西 它是把一个数从低位拆到高位,相当于是较低位的方案数是较高位的子问题 个人认为数位dp写记忆化搜索更容易理解一点 看这道题,首先我们让我们分别求 在 出现的次数,我们先把 分
阅读全文
摘要:区间dp 先在小区间上进行dp得到最优解,然后再合并小区间的最优解求得大区间的最优解,解题时,先解决小区间的问题,再将小区间合并为大区间,合并操作一般是将两个相邻区间合并 注:合并顺序从小区间到大区间,因该先从小到大枚举区间的长度,递推出j在哪里 一本通题解 T3: 2025.1.23补档: 我之前
阅读全文
摘要:线性dp理解 递推/记忆化搜索,有很多种理解方式 递归重叠子问题的记忆化搜索: 像这里例如 可以通过一次计算得到,保存答案,下一次直接调用即可,省去很多复杂度 我们从此引出dp第一个性质:最优子结构 大问题的最优解包含小问题的最优解,并且小问题的最优解可以推导出大问题的最优解 递推
阅读全文
摘要:前言 在整理总结题解的时候突然发现倍增这一章竟然连题解都没有写过,直接晕厥 T1: 直接做 T2: 首先根据倍增思想,现预处理出开 次车,A/B先开车所到达的地点,和开的距离 这样两种查询,都可以根据预处理的来倍增求出 然后如何预处理呢? 我们维护一个链表,链表开始是所有城市按照高度
阅读全文
摘要:「基础算法」 第1章 递推算法 博客链接 一般有具体的情境,可以通过直接的模拟转移过程来实现递推,T2,T4,T9 找到已知状态和所求状态的差别和联系,想办法将所求转化为已知进行转移,一般要用到分讨,T1,T3 根据题目将问题转化,增维,然后转化后进行递推,T8 第2章 贪心算法 博客链接 一般像题
阅读全文
摘要:2025.1.6 上午做了一道分块紫,一道莫队蓝 下午做一道莫队紫,发现都码完了竟然审错题了,遂放弃 晚上看题没有写 明日计划: 新开一章树剖学习 2025.1.7 钢哥说这段时间总结一本通,然后融汇贯通后练习写暴力 大概算了一下总结一章再加上写博客要花1个小时吧,今天总结了4章 明天总结个10章没
阅读全文
摘要:前置芝士 分块 算法理解 一种暴力顺序的优化 离线+暴力+分块 通常用于不带修只查询的一类问题 模板题P1972 [SDOI2009] HH的项链 首先使用暴力法求解此题 我们设我们有一个 表示现在扫到 区间,对于一个询问 我们暴力的将 \(L
阅读全文