10 2023 档案

状态压缩dp
摘要:相关技巧 枚举子集:如果一个集合状态 S 由其所有子集 S0S 转移得到,这样转移的时间复杂度为 i=0n(ni)2i=3n for(int S0 = S; S0; S0 = (S0 - 阅读全文

posted @ 2023-10-28 15:38 star_road_xyz 阅读(28) 评论(0) 推荐(0) 编辑

动态规划合集
摘要:动态规划笔记目录 八种常见动态规划题型 序列dp 树形dp 背包dp 区间dp 期望dp 状态压缩dp 数位dp 计数dp 动态规划优化合集 DP技巧与DP杂题 数据结构优化dp 矩阵快速幂优化dp 决策单调性优化dp 斜率优化dp 阅读全文

posted @ 2023-10-27 18:32 star_road_xyz 阅读(12) 评论(0) 推荐(0) 编辑

计数dp
摘要:错位排列计数 (组合意义dp) 题目 给定长度为 n 的排列,求解其错位排列数 题解 设 Dn 表示长度为 n 的排列的错排数,考虑我们已经知道了前 n1 个错排数,那么对新加入的这第 n 个数进行分类讨论 直接与前面的数交换,有 \((n-1)\time 阅读全文

posted @ 2023-10-27 18:07 star_road_xyz 阅读(60) 评论(0) 推荐(0) 编辑

矩阵快速幂优化dp
摘要:寻址连续优化 for(int i = 1; i <= n; i++) for(int k = 1; k <= n; k++) if(a.a[i][k]) for(int j = 1; j <= n; j++) c.a[i][j] = (c.a[i][j] + 1ll * a.a[i][k] * b. 阅读全文

posted @ 2023-10-27 18:06 star_road_xyz 阅读(86) 评论(0) 推荐(0) 编辑

数位dp
摘要:数位dp的一般套路 问题形式 给你一个条件 A ,然后询问值大小在 [L,R] 中有多少满足条件的数 这个问题暴力去做一般是 O(R) 的时间复杂度,但是通过数位dp我们可以把这个东西优化到 O(log10R) 求解过程 阅读全文

posted @ 2023-10-27 18:03 star_road_xyz 阅读(61) 评论(0) 推荐(0) 编辑

序列dp
摘要:LCS问题 题目1 给定 A,B 两个排列,求它们的 LCS 题解1 两个序列都是排列,那么可以考虑建立映射关系跑LIS 题目2 给定 A,B 两个序列,求它们的 LCS 题解2 就是个简单的多序列dp 设 f[i][j] 表示考虑 阅读全文

posted @ 2023-10-27 18:00 star_road_xyz 阅读(33) 评论(0) 推荐(0) 编辑

树形dp
摘要:P3174 [HAOI2009] 毛毛虫 (树的直径变式) 题目 对于一棵 N (N3×105) 个点的树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫。 求点数最多的毛毛虫 题解 本题与树的直径的求法非常类似 设 fu 表示以 \ 阅读全文

posted @ 2023-10-27 17:59 star_road_xyz 阅读(27) 评论(0) 推荐(0) 编辑

DP技巧与DP杂题
摘要:DP常用技巧 增加维数 交换答案与状态 可行解转最优解 删掉本质相同的状态 对部分状态dp 遇到转移顺序的困难,考虑记忆化搜索 遇到转移细节过多的问题,考虑从 ii+1 而不是 i1i 考虑状态时,先把需要记下来的都记一遍,再 阅读全文

posted @ 2023-10-27 17:58 star_road_xyz 阅读(73) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示