首页 > TAG信息列表 > AHOI2022

「AHOI2022」钥匙

想搞成一个好维护的形式,这个 \(5\) 把钥匙要用起来。 那首先考虑一点实现的问题,我们对同一种颜色建出虚树,然后以每个钥匙为根遍历一遍整棵树考虑造一点信息。 先看到 A 性质,猜测我们要通过一些特殊的匹配方式变成一条路径如果被包含则答案加一。 ※ 那么考虑用栈储存钥匙,每次用栈

「AHOI2022」山河重整 解题报告

题目大意 给定整数集合 \(S=\{1,...,n\}\), 计算有多少个子集 \(T\subseteq S\), 使得 \(1,2,\dots,n\) 都可以被表示为 \(T\) 的一个子集中所有数的和. \(n\le 5\times 10^5\), 答案对 \(M\) 取模. 解法概要 设 \(a_{k+1}\) 计数和为 \(k\), 且可以表达出 \(1,\dots,k\) 的集合数

P8340-[AHOI2022]山河重整【dp,倍增】

正题 题目链接:https://www.luogu.com.cn/problem/P8340 题目大意 给出一个\(n\)和模数\(P\)。求有多少个在\(1\sim n\)中选择若干个数的集合\(S\),满足\(1\sim n\)中的每个数都可以表示成\(S\)的某个子集的和。 \(1\leq n\leq 5\times 10^5,2\leq P\leq 1.1\times 10^9\) 解题思

题解-AHOI2022 钥匙

通过这道题发现我是春春的滴嫩儿。 前两题一共花了我4.5h,也就是说我要去AH的话切完前两题比赛就结束了后面的题看都没得看。 还是要加强码力和熟练度啊。 首先考虑对每种颜色分别求解,那么我们可以把钥匙和宝箱看成一个括号匹配(怎么又是它),考虑在匹配的位置记入答案。那么可以枚举

「AHOI2022」山河重整

今年的独立命题除了福建都很一可赛艇啊! 首先有个经典结论是,如果选出的子集 \(S\) 合法,那么 \(\forall i, \sum_{j \in S,j \leq i} j \geq i\)。 那么可以得到一个 \(O(n^2)\) 的 DP。定义 \(dp_{i,j}\) 为在前 \(i\) 个数中,可以构出 \([1,j]\) 内的所有数(第二维与 \(n\) 取最小值

AHOI2022 回忆 题解

洛谷:[AHOI2022] 回忆 题解:先鸽着,有时间再写。 时间复杂度:\(O(n\log^2 n)\) 或 \(O(n\log n)\)。 代码: #include <set> #include <vector> #include <cstdio> #include <algorithm> const int Maxn=200000; int n,m; int head[Maxn+5],arrive[Maxn<<1|5],nxt