随笔分类 -  技巧-状态压缩

摘要:「NOI2022」移除石子出题人对选手没有同理心.jpg 阅读全文
posted @ 2022-09-03 10:57 crashed 阅读(368) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 首先,设原图的最小生成树的边集为 \(T\),则容易得到: \[ \begin{aligned} E(\max_{x\in T}e_x) &=\int_{0}^1P(t<\max_{x\in T}e_x)\mathrm dt \end{aligned} \] 而可以发现 阅读全文
posted @ 2022-03-13 19:46 crashed 阅读(80) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2022-03-09 22:44 crashed
该文被密码保护。
posted @ 2022-03-08 22:20 crashed 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2022-02-14 17:36 crashed 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2022-02-09 15:37 crashed 阅读(0) 评论(0) 推荐(0)
摘要:题目 点这里看 F 题。 分析 很不错的一道题。 我们可以尝试改写一下循环语句: for i in range(l, r): 其实等价于: for i in range(1, n): if( l <= i and i <= r ): 为了方便,这里“引入”了 if 语句,同时使用了 python 的 阅读全文
posted @ 2021-10-20 21:21 crashed 阅读(98) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 玄学题目。直接搬运题解.jpg 解决这道题首先需要用到处理强连通图的一种特殊方法:耳分解 定理:一个有向图 \(G=(V,E)\) 为强连通,当且仅当它可以通过如下方法构造: 维护一个图 \(G'=(V',E')\);初始时,\(V'=\{v\},E'=\varnothi 阅读全文
posted @ 2021-08-15 14:25 crashed 阅读(381) 评论(0) 推荐(3)
摘要:题目 点这里看题目。 分析 一个简单的初始想法是:计算所有最终不是强连通的方案,然后再用总方案减去。 那么非强连通的方案经过缩点后,必然会变成 DAG 的形状。我们可以枚举所有 DAG 的形态,计算方案数: 每个强连通块的方案数:子问题,递归即可; 外部 DAG 的数量; 考虑求解 DAG 的数量。 阅读全文
posted @ 2021-08-09 22:08 crashed 阅读(124) 评论(0) 推荐(1)
摘要:代码托管到第三方平台上。 NOI2021 题解 D1T1 轻重边 水题 D1T2 路径交点 卡常的屑水题 考虑 \(k=2\) 的情况,每种路径方案都可以使用一个排列来描述,排列的逆序对数量就可以用来描述交点数。 因此,设矩阵 $M\in R^{n_1\times n_1},M_{ij}=[(i,j 阅读全文
posted @ 2021-08-05 18:49 crashed 阅读(614) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2021-03-22 21:31 crashed 阅读(0) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 这种题目显然需要转化。 考虑我们该怎么枚举区间。由于操作顺序是从前到后的,因此可以想到将一段操作区间拆分成两段操作的后缀。 那么,如何实现操作的 " 减法 " 呢?也就是说,我们应如何消去另一后缀的影响? 注意到,如果我们同时对 \(s\) 和 \(t\) 执行操作的话, 阅读全文
posted @ 2020-09-24 20:54 crashed 阅读(160) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 这......看到 \(m\) 这么小,然后看到条件这么奇葩,显然是容斥计算。 但是先不慌,我们先考虑在没有任何限制的时候该怎么计算。 考虑枚举选的人数 \(s\) ,然后找出哪些佣兵在选的人数为 \(s\) 的时候可以被选,设为 \(a_s\) 。那么总的方案数就是: 阅读全文
posted @ 2020-09-23 21:13 crashed 阅读(172) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 首先,由于仅仅是 " 存在 " 这一条限制很容易导致计重,且总方案数就是 $10^n$ 。我们就可以考虑求补集,也就是不存在的情况。 然后有一个很显然的 DP : \(f(i,S)\):序列长度为 \(i\) ,此时序列的和 \(\le X + Y + Z\) 的极长后缀 阅读全文
posted @ 2020-08-01 10:50 crashed 阅读(298) 评论(0) 推荐(1)
摘要:题目 点这里看题目。 分析 题目本身不难想,只需要在正常的 DP 外多加一个辅助状态即可求解附加问题。 这个方法就不细讲了。重点说的是一个比较优雅的做法。 考虑我们要最大化被两端覆盖的边的数量,也即是最小化只被一端覆盖的边的数量。现在我们就是同时最小化两个信息,并且存在优先级。 思考一下哪里存在天然 阅读全文
posted @ 2020-07-30 16:30 crashed 阅读(222) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 首先我们可以考虑不存在任何限制的时候该怎么做。 根据 \(Pr\overset{..}{u}fer\) 序列直接得出答案为 \(n^{n-2}\) 。 忽略那种做法,因为它难以处理 LCA 的限制。看到 \(n\) 很小,我们可以想到一个状态压缩的 DP : \(f(u, 阅读全文
posted @ 2020-07-29 10:29 crashed 阅读(165) 评论(0) 推荐(0)
摘要:题目 点这里看题目。 分析 奇奇妙妙的题目。 直接修改树上的路径会影响到很多条边,并不方便处理。我们需要压缩受影响信息的数量。 由于对点的处理更加灵活,因而我们考虑将边权转为点权。 考虑修改树上路径经常与树上差分挂钩,我们可以猜想第一种方法:给点赋权为它到根上所有边的权的异或和。 但是没有什么用,因 阅读全文
posted @ 2020-07-28 16:50 crashed 阅读(187) 评论(0) 推荐(1)