摘要: 前言 树状数组是我学的第一个高级数据结构,属于 log 级数据结构。 其实现在一般不会单独考察数据结构,主要是其在其他算法(如贪心,DP)中起到优化作用。 长文警告:本文一共 995 行,请合理安排阅读时间。 lowbit函数 lowbit函数用于求解一个数二进制位最右边的 \(1 阅读全文
posted @ 2025-02-06 20:42 w9095 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 前言 此类知识点大纲中并未涉及,所以【5】是我自己的估计,后带星号表示估计,仅供参考。 坐标规则类DP 通式 dp[i][j]=max/min{dp[ik1][jk2]}+w(i,j)其中 dp[ik1][jk2] 是各个决策,\(w(i,j 阅读全文
posted @ 2025-02-06 20:42 w9095 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 前言 WFLS 2023 寒假集训 Day4 Day 5 搜索剪枝的复杂度很玄学,最好还是能剪枝就剪枝,只要不是错误的,总没有坏处。 最优化剪枝 当题目要求求最优解的时候,此时如果已经求出一个可行解,那么答案超过这个可行解的分支一定不是最优解,所以这些分支可以剪掉。 找到可行解 if(check() 阅读全文
posted @ 2025-02-06 20:42 w9095 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 前言 WFLS 2023 寒假集训 Day2 大纲里字典树在数据结构里,但是个人认为应该属于字符串,就把它放到字符串里了 字典树 字典树,又称Trie树,字母树。每个顶点代表一个字符,从根节点到叶子节点的路径上所有的节点的字符连接起来,就是一个字符串。 字典树的优点:利用串的公共前缀来节省内存,加快 阅读全文
posted @ 2025-02-06 20:41 w9095 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 前言 WFLS 2023 寒假集训 Day1 KMP好闪,拜谢KMP! 暴力算法 单模字符串匹配算法 设 i 为主串 s(文本串)指针,j 为子串 t(模式串)指针,最开始 i,j 都从 0 开始,如果 s[i]==t[j] 那么 \(i++\ 阅读全文
posted @ 2025-02-06 20:41 w9095 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前言 鸽了很久,2023/1/5 开始,2023/1/21 才完工。 中途去集训了,没时间来补漏洞。 单调队列 单调队列是一种非常实用的数据结构,可以用于查询一个定长区间在以一定速度向后滑动,并查询区间内最值的问题(具体见例题 1 )。时间复杂度非常低,总体是 \(O(n)\ 阅读全文
posted @ 2025-02-06 20:41 w9095 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 前言 教练阳了,这次上的是录播课(悲 希望教练早点好起来 区间DP 区间DP,字面上讲,就是以一个区间为状态进行转移的动态规划。 在这类动态规划中,一般设状态 dp[i][j] 表示区间 [i,j] 的答案。 区间DP的题目的特征: 1 :数据范围较小,一般 \(\le500 阅读全文
posted @ 2025-02-06 20:40 w9095 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 前言 学习了简单背包DP,这一篇博客主要是讲背包问题进阶。所以这篇博客的难度系数很有可能不止 5 级,个人评价是 6 级。所以在基础背包部分不会讲太多,会直接使用一维背包。 基础背包 01背包 给定 n 个物品,一个容量为 V 的背包,每件物品只能用一次,有两个属性: 阅读全文
posted @ 2025-02-06 20:39 w9095 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 前言 学习ST表,主要是倍增思想,可以理解为倍增优化后的DP。写在这里,一方面方便自己以后复习,另一方面给其他人参考。 UPD on 2023/3/21 :修改了格式,使格式与其他的学习笔记统一。 倍增 倍增引入 与其说倍增是一种算法,不如说倍增是一种思想。 倍增的时间复杂度和二分是一样的,都是 \ 阅读全文
posted @ 2025-02-06 20:37 w9095 阅读(27) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示