OVSolitario-io

导航

2025年10月9日 #

树形DP

摘要: 树形DP 相较于普通DP:从几维数组中循环,且有复杂的转移 树形DP:基本结构为树,所以转移一般在父节点和子节点之间进行 hdu1520 Anniversary party:深搜 poj1947 Rebuilding Roads d[u][j]保留j个点时,for它子树情况(all可能),dfs计算 阅读全文

posted @ 2025-10-09 21:23 TBeauty 阅读(5) 评论(0) 推荐(0)

状压DP:采用二进制集合表示法压缩方案

摘要: 很有特点,一般20就很极限(2^20大概1e6),当n<=20则可以看是否状态压缩 状压D:通过二进制下0/1表示情况 不关心之前走了哪些,对于我来说是一样的 常见是用二进制数0/1进行压缩状态 前置知识位运算符:(如:<<,>>,|,&,^等) 二进制集合表示法(重要):状压Dp的方案情况即采用的 阅读全文

posted @ 2025-10-09 21:18 TBeauty 阅读(5) 评论(0) 推荐(0)

数位DP:拆位分别进行DP,优化掉大范围

摘要: 数位DP: 最重要一步:分情况讨论 板子: 点击查看代码 int dfs(int pos, int lim, ...) { if(pos == 0) { ... return ... } if((!lim) && dp[pos][...] != -1) return dp[pos][...]; in 阅读全文

posted @ 2025-10-09 21:17 TBeauty 阅读(4) 评论(0) 推荐(0)

区间DP:考虑区间的划分

摘要: 区间DP:状态表示为某区间,dp[i,j]表[i,j]区间 对于区间DP,要找到顺序使得依赖已经计算 石子合并:石子合并(弱化版) 每次操作一定是将相邻两堆合并,那么考虑all的分界情况考虑将哪两堆合并(即左边右边合并) 定义:dp[i,j]表示合并方法,all将第i堆到第j堆合并为1堆的合并方式 阅读全文

posted @ 2025-10-09 21:10 TBeauty 阅读(3) 评论(0) 推荐(0)

线性DP

摘要: 线性DP: 状态维度: 答案一定能表示 答案可以被推出 以此为基础,维度越低越好(更少时复) 因此维度:从小->大考虑 DP存方案:记录转移即可,例子在LIS后面 LIS 考虑LIS问题,我的上一步一定是我前面的某一个值,将我接在它后面,LIS长度+1 定义:dp[i]是以i结尾的LIS长度 考虑: 阅读全文

posted @ 2025-10-09 20:04 TBeauty 阅读(3) 评论(0) 推荐(0)

DP:关注题中哪些东西影响答案,造成了后续相同的局面,导致不关心前面的决策

摘要: DP:转移方程不唯一,不同看待问题方式造就不同结果 表格法:表格法 e.g.:维护最后一个信息 背包问题:背包 记忆化搜索:记忆化搜索 算法竞赛进阶指南:算法竞赛进阶指南合集 适用条件: 造成了后续相同的局面,所以不关心前面的决策 线性DP:线性DP 区间DP:按区间分类,很多优化 区间DP 内容分 阅读全文

posted @ 2025-10-09 19:58 TBeauty 阅读(7) 评论(0) 推荐(0)

记忆化:记录子问题的值以避免重复性运算

摘要: 记忆化搜索(减少重复计算,对搜索的优化) 对于重复子问题,会造成大量的重复性计算(计算以计算的)来导致效率降低 此时我们可以开记忆数据,将计算过的值存储,并在下次需要的时候使用 此为砍掉重复搜索树图示 e.g. DFS指数级 记忆化保证了每个值只计算一次限制在了NM时间范围内=等价于DP动态规划 好 阅读全文

posted @ 2025-10-09 19:56 TBeauty 阅读(7) 评论(0) 推荐(0)

C++新语法学习笔记(更新我不会写的新语法)

摘要: 顺序填充数组:iota,在头文件numeric中 iota(.begin(), .end(), 参数);//从参数开始填充:参数,参数+1··· 引用,后续写v <=> f[x][y] &v = f[x][y]; 阅读全文

posted @ 2025-10-09 18:50 TBeauty 阅读(5) 评论(0) 推荐(0)

筛法

摘要: # 阅读全文

posted @ 2025-10-09 09:13 TBeauty 阅读(5) 评论(0) 推荐(0)

lambda自递归

摘要: auto dfs =:定义匿名函数并赋值给 dfs; [&]:捕获外部作用域变量以引用方式访问; auto &self:自传递实现lambda 内部递归; -> void:显式指定返回类型(函数类型); auto dfs = [&] (auto &self, 参数) -> 返回类型 { self(s 阅读全文

posted @ 2025-10-09 08:57 TBeauty 阅读(5) 评论(0) 推荐(1)