月度归档: 2023 年 7 月

3 篇文章

「NOIP Record」#10 单调性优化与双指针
luogu8551 Bassline 题目的限制翻译过来就是 $[x,y]$ 中任意位置都被覆盖了相同次数。 用差分求出每个点被覆盖的次数,双指针求极长的满足条件的位置即可。 #include<bits/stdc++.h> using namespace std; #define int long long #define uint u…
「NOIP Record」#9 状态压缩
聊聊状态压缩。 顾名思义,就是把一个状态压成一个整数,从而使得问题的所有状态可以度量。 一般都是用二进制状态压缩来表示子集与全集的关系,对应着二进制每一位都是 $0$ 或 $1$。更高的进制能表示更多的信息,但状态的数量也会随之增加,并且实现的时候要自己手写位运算,较为复杂,本文不会涉及。 信息的表示 luogu7076 [CSP-S2020] 动…
「NOIP Record」#8 搜索剪枝与记忆化搜索
搜索剪枝 纯搜索剪枝题很少,早就融入各种搜索之中了。 但是在各种多项式时间的搜索里,剪枝仍然是重要的。 目前只有一道题,以后看情况加。 luogu1120 小木棍 能注意到长度一定是所有木棍总和的倍数,并且至少是 $\max{a_i}$,所以只对这部分搜索就行。 设dfs(cnt,len,lst)表示当前还剩下 $cnt$ 根木棍要拼接,当前木棍剩…