随笔分类 -  状态压缩

摘要:题目描述 简要描述:给定一个长度为 $N$ 的数组,求数组的子数组满足最大值为 $X$ 且最小值为 $Y$ 的子区间的个数。 做法 1. ST表 + 二分 时间复杂度: $O(n \log n)$ 对于每个位置,二分出以它为左端点最大值为 $X$ 的最远和最近的位置,以及以它为左端点最小值为 $Y$ 阅读全文
posted @ 2022-10-27 22:50 ccz9729 阅读(68) 评论(0) 推荐(0)
摘要:Freezing 牛客小白月赛53F 首先有一个朴素的 $DP$ , dp[i][j] 表示前 $i$ 个人中,且最后一个人的状态是 $j$ 的方案数,然后暴力转移即可,复杂度 $O(n \times 2^m)$ 无法通过本题。 有一个不能通过本题的优化是,我们可以通过枚举 ~j 的子集,来进行状态 阅读全文
posted @ 2022-09-08 17:16 ccz9729 阅读(171) 评论(0) 推荐(0)
摘要:小沙的签到题 题目link 题目描述 给定一段长度为 $n(n \le 2 \times 10 ^ 5)$ 的序列 $a(a_i \le 999999)$,求序列中有多少对数相加不会产生 10 进制的进位。 第一种做法是六维前缀和,考虑 s[bit1][bit2][bit3][bit4][bit5] 阅读全文
posted @ 2022-09-08 16:46 ccz9729 阅读(36) 评论(0) 推荐(0)
摘要:原题链接 思路 由于 \(k\) 的范围只有 \(8\), 很容易想到这题要用一个暴力的方法,我们可以用 状压dp 来解决这个问题。 令 \(f[i][j]\) 为 当前车票的可选即可为 \(i\) ,并且 当前的位置是 \(j\) 的最小花费,然后进行状态转移即可 SOLUTION #includ 阅读全文
posted @ 2022-05-03 15:04 ccz9729 阅读(38) 评论(0) 推荐(1)
摘要:思路 此题做法与LC 1755. 最接近目标值的子序列和类似 详情见这篇Blog 还是把数组分为两部分,分别用状态压缩进行枚举,然后对第二部分所凑成的值在第一部分中二分查找即可 AC_CODE #define fi first #define se second #define pb push_ba 阅读全文
posted @ 2021-10-11 14:51 ccz9729 阅读(72) 评论(0) 推荐(0)
摘要:题目描述 给你一个整数数组 nums 和一个目标值 goal 。 你需要从 nums 中选出一个子序列,使子序列元素总和最接近 goal 。也就是说,如果子序列元素和为 sum ,你需要 最小化绝对差 abs(sum - goal) 。 返回 abs(sum - goal) 可能的 最小值 。 注意 阅读全文
posted @ 2021-10-11 14:05 ccz9729 阅读(157) 评论(0) 推荐(0)