摘要: 分析 看到异或不难想到 01Trie。 不难想到,当两个数的点权相等的时候,我们可以当这两个点是一个点,因为连边的费用为 \(0\)。 那么对于一个序列 \(n\),若存在 \(m\) 种不同的权值,那么在 Trie 树上子节点数为 \(2\) 的节点就有 \(m-1\) 个(因为如果一个数新加进来 阅读全文
posted @ 2023-10-27 10:04 Kazdale 阅读(228) 评论(0) 推荐(0)
摘要: 分析 手玩样例发现连一条边实际上是将一个多边形分割成两个部分,而且不能在这两个部分直接连边,发现这两个部分是完全独立的,于是考虑区间 DP。 设状态 \(f_{l,r}\) 表示将 \([l,r]\) 区间连成树的方法数量。 那么存在两种转移,一种是 \(l,r\) 间不直接连边,这样中间的点都需要 阅读全文
posted @ 2023-10-26 20:44 Kazdale 阅读(205) 评论(0) 推荐(0)
摘要: 分析 看到 \(n \leq 35\) 的数据范围就想到了 meet-in-middle。 先爆搜出对于 \(1 \sim \frac{n}{2}\) 和 \(\frac{n}{2} \sim n\) 两个下标范围内在模意义下所有的和。 然后用一个常见 trick,就是枚举第二个部分的和,然后匹配第 阅读全文
posted @ 2023-10-26 15:15 Kazdale 阅读(223) 评论(0) 推荐(0)
摘要: 分析 很容易想到从 \(0\) 开始枚举 \(a_i \neq i\) 的位置个数一直枚举到 \(k\) 计算每种情况下的答案加在一起即为答案。 对于 \(k\) 确定的情况,\(a_i = i\) 的位置共有 \(C_{n}^{n-k}\) 种情况,剩下的位置要保证 \(a_i \neq i\)。 阅读全文
posted @ 2023-10-26 11:18 Kazdale 阅读(214) 评论(0) 推荐(0)
摘要: 分析 容易想到可以枚举每个字母,分别求其最小 \(k\) 取 \(\min\)。 思考对于一个 \(k\),如何判其不合法。容易想到如果存在一个没有这个字符的长度大于等于 \(k\) 的子段,那么这个 \(k\) 就不合法。 那么我们就知道如何求最小合法 \(k\) 了。找到最长的没有这个字符的子段 阅读全文
posted @ 2023-10-26 10:34 Kazdale 阅读(203) 评论(0) 推荐(0)
摘要: 分析 题意为选出最多的操作使机器人执行完仍停留在原地。 分为左右和上下两类,则每一类的可执行操作数都是操作次数最少的一种操作的二倍(因为正反操作都要执行才能抵消)。 直接统计每种操作的操作次数计算答案即可。 代码 #include <iostream> using namespace std; co 阅读全文
posted @ 2023-10-26 10:00 Kazdale 阅读(217) 评论(0) 推荐(0)
摘要: 分析 因为一个数不可能同时大于并小于它两边的数,所以两种数的集合不存在交集。 所以分别扫一遍两种数的个数加在一起即可。 代码 #include <iostream> using namespace std; constexpr int MAXN(1000007); int a[MAXN]; int 阅读全文
posted @ 2023-10-26 09:18 Kazdale 阅读(205) 评论(0) 推荐(0)
摘要: 分析 观察到题面是求最小极差,想到 two-pointers。 按 \(w_i\) 大小排序,然后发现一个子段的子段的答案肯定不优于原子段。 和CF1777C以及NOI2016区间一样,选取合法左端点然后选取最大合法右端点。 值得注意的是,本题要求首尾相接,所以为了避免选取的线段无交集,将 \(r\ 阅读全文
posted @ 2023-10-26 08:58 Kazdale 阅读(222) 评论(0) 推荐(0)
摘要: 分析 注意到字符集大小很小,那么很容易就会产生回文,那么合法序列的种类就会比较有限。 思考对于不同长度而言合法序列的种类,显然长度为 \(1\) 时无回文,长度为 \(2\) 只要两个字符不同就无回文。 尝试扩展到长度为 \(3\) 时的情况,显然 \(s_1 \neq s_2\),\(s_2 \n 阅读全文
posted @ 2023-10-25 19:23 Kazdale 阅读(229) 评论(0) 推荐(0)
摘要: 分析 看着感觉很不可做,因为第一个人走的方式有巨大的后效性。 但是发现 \(n=2\),那么第一个人走的方式一定是先在上面走一段,再在下面走一段(直接走下面视为先在上面走了 \(0\) 个数) 设第一个人在 \(x\) 处从第一行下去,那么第二个人能选择的数之和一定为第一行 \(x + 1\) 的后 阅读全文
posted @ 2023-10-25 16:58 Kazdale 阅读(248) 评论(0) 推荐(0)