月度归档: 2024 年 6 月

3 篇文章

状压dp(相邻相关,相邻无关问题)
状态压缩是一种常用于动态规划问题的技术,尤其适用于解决涉及多个状态的组合问题。它通过使用一个整数的位表示多个状态,从而大幅降低空间和时间复杂度。 状态压缩是用二进制进行压缩的,你需要了解位运算的基本运用:从集合论到位运算,当我们遇到处理数据很小的时候,比如n<20以内,可以考虑下状压。其中状压dp有相邻相关,相邻无关等类型,下面我会概述一下这…
常用的字符串操作模板
我们在写某些字符串问题上经常需要用到一些基础架构, 当然你可以选择直接暴力。一般,我会选择一些效率够高的函数模板,因为你需要多次调用。以下是我总结的几个关于常用的字符串操作模板: 判断x是否为y的子序列: class Solution: def isSubsequence(self, s: str, t: str) -> bool: i = …
离散化模板
离散化(discretization)是一种数据处理技术,特别适用于数值范围较大但实际数据分布较稀疏的情况。以下是一些离散化的主要用途和优点: 减少数值范围: 离散化可以将较大范围的数值数据映射到较小范围的整数,减少处理复杂度和计算开销。 处理重复值: 在原始数据中,可能存在重复值,通过离散化可以将这些值映射到同一个整数值,从而更容易进行后续的处理…