随笔分类 - luogu题解
摘要:传送门 思路 我们考虑将原本想同意的人连向源点,原本不同意的人连向汇点,流量皆为 $1$。 对于一对好朋友 $x,y$,我们连接 $(x,y)$ 和 $(y,x)$ 双向边,流量皆为 $1$。 当一个人违背自己原本的意愿时,就将它与源/汇点断边;当好朋友 $(x,y)$ 选择不同时,我们就会断掉双向
阅读全文
摘要:传送门 思路 对于第一种限制,我们连接 $(x,y)=1$,$(y,x)=-1$ 对于第二种限制,我们连接 $(x,y)=0$ 如果一个图只有第一种边,那么要么就是没有解(有环),要么答案就是点的个数 因此我们考虑将图缩成一个 DAG 来判断 如果一个强联通分量中出现负环,那么就无解 否则,最后的答
阅读全文
摘要:传送门 思路 这是一道纯纯暴力题,因为我们可以证明它的状态数不会超过 $n\sqrt n$ 级别: 若 $p \le \sqrt n$ 时,显然状态数不会超过 $n\sqrt n$ 若 $p > \sqrt n$ 时,它经过的地方数 $<\sqrt n$,因此状态数不超过 $m\sqrt n$ 由于
阅读全文
摘要:传送门 思路 ~~DP 基础还是不扎实啊~~ 问题是将树拆成 $k+1$ 个连通块,每个连通块求出一个直径,将这些直径依次相连,最后输出总直径的长度 我们考虑 $O(nk)$ 的树形 DP 我们设 $dp_{i,j}$ 表示 $i$ 子树中,有 $j$ 个连通块,它们的直径和的最大值 但要直接转移似
阅读全文
摘要:传送门 思路 kruskal 重构树的一个很好的应用 这道题中,我们建两棵重构树: 一棵按照边权为两点编号中的最小值,建一个小根堆重构树(称为树 $a$) 一棵按照边权为两点编号中的最大值,建一个大根堆重构树(称为树 $b$) 设 $a$ 上叶子结点的 dfs 序为 $da[u]$,$b$ 上叶子结
阅读全文
摘要:传送门 思路 如果没有强制,那就是一个简单的树形DP,我们用 $f[i][0/1]$ 表示 $i$ 的子树内,$i$ 选或不选的最小代价;用 $g[i][0/1]$ 表示整个树减去 $i$ 的子树,$i$ 选或不选单最小代价。这类似于换根DP 有了强制,说明我们的DP有一些状态不可取,虽然我们不能退
阅读全文
摘要:传送门 ~~天天刷水题,结果都做不出来~~ 思路 我们定义 $f_{i,u,v}$ 表示从 $u$ 到 $v$ ,恰好经过 $i$ 条边的最短路 我们可以思考这样的一个转移: $$f_{i,u,v}=\min{f_{a,u,k}+f_{b,k,v}}\ (a+b=i)$$ 这个样子是不是像极了两个矩
阅读全文
摘要:传送门 思路 朴素的想法就是一个 $O(n^2m^2)$ 的转移: $$f_{i,j}=\sum_{x=1}^{i-1}\sum_{y=1}^{j-1}f_{x,y}*[a_{i,j}!=a_{x,y}]$$ 约束条件如此多,思考用 cdq分治 来优化 我们考虑对行进行分治,先分治 $[l,mid]
阅读全文
摘要:传送门 ~~这题又一次让我感受到我概率/期望DP的薄弱~~ 思路 (紧抓期望的定义式) 设 $f_i$ 表示考虑到第 $i$ 位时的得分,$p_l$ 表示到第 $i$ 位连续 $l$ 位为 $1$ 的概率,$P$ 表示 第 $i + 1$ 为 $1$ 的概率 如果 $i + 1$ 不为 $1$ ,那
阅读全文
摘要:题目传送门1 题目传送门2 思路 如果我们设 $f[S]$ 为含有 $S$ 中的玩具的方案数,我们只能用普通的状压DP,但复杂度高达 $O(n2^m)$,也就是 $O(n^2)$ 级别 正难则反,我们考虑设 $g[S]$ 表示不含有 $S$ 中的玩具的方案数,那么答案应该是 $\sum (-1)^{
阅读全文
摘要:传送门 思路 我们不妨设出发点为根 \(rt\),并设 \(d[u]\) 表示 \(u\) 到最近的叶子结点的距离。 显然,如果一个点 \(u\) 满足:\(rt\) 到 \(u\) 的距离 \(\ge\) \(d[u]\),那么我们就可以放一个农民在那个叶子,然后跑到 \(u\) 结点,这样一来
阅读全文
摘要:题意 一棵树,每个结点有一个小写字母,求最长的回文路径。 思路 路径问题我们可以想到用点分治来求解。 我们点分治的时候,维护每个点到重心的正反路径的 hash 值。 设点到重心的 hash 值为 \(A\),重心到点的 hash 值为 \(B\)。 假设实现我们有两个长度分别为 \(L_1,L_2\
阅读全文
摘要:传送门 思路 (虽然是贺的,但很有收获,写篇题解总结一下) 我们应该能想到一个贪心的策略:如果一头牛移动的路径上(不包括起点)经过了其他奶牛,那么这个一定不优 比如说:\(x,y\) 上各有一头奶牛,现在要让 \(z\) 上有一头奶牛(\(x<y<z\)),如果移动 \(x\) 到 \(z\),显然
阅读全文
摘要:传送门 做完了卡牌,便寻思着来加强一下这种套路 结果关键处(根号分治)一样之外,其他做法是完全不同的...... 思路 对于 \(n\) 比较小的情况,我们可以考虑进行状压DP 一个集合 \(S\) 存着一些质数,表示选择的数中的质因子含有这些数 我们可以设计一个状态 dp[S1][S2],表示甲选
阅读全文
摘要:D1T1 预处理器 我们先用 unordered_map 将字符串编号 然后 #define 的时候就加边,#undef 的时候就删边,然后询问的时候直接递归就行了:如果没有编号的,或者是编号了但没有出边的,又或者是指向的字符串已经展开过了,就直接输出这个串;否则就继续展开。 因为题目中保证了 每行
阅读全文
摘要:传送门 思路 经典的 bitset 优化莫队 先考虑减法:由 \(a-b=x\) 可得 \(a=b+x\),那么我们用 bitset 记录对应的数字是否出现过,然后在询问时,我们将 bitset 整体向左移 \(x\) 位,再与原 bitset 取交集,如果不为 \(0\),显然是可行的 然后加法与
阅读全文
摘要:传送门 看来对 FFT 的理解仍只是在表层模板而已,对问题还是不会转化 思路 我们先回顾卷积的形式: \(W_k=\sum_{i=0}^kF_i\times G_{k-i}\) 这些表示的都是系数 回到这道题,题目其实让我们求得应该是 \(E_i=\sum_{j=1}^{i-1}\frac{q[j]
阅读全文
摘要:传送门 思路 一道典型的高斯消元的期望DP 通过朴素的思考,我们可以获得如下的转移方程 \(f_{i,j}=p_{i,j-1}\times(f_{i,j-1}+1)+p_{i,j}\times(f_{i,j}+1)+p_{i,j+1}\times(f_{i,j+1}+1)+p_{i+1,j}\tim
阅读全文
摘要:传送门 思路 因为边数很多,所以如果我们考虑用边来设立状态的话,会直接爆掉 考虑到期望有线性性,我们将边拆成独立的贡献 对于边 \((u,v)\),它被经过的期望实际上就是 \(\frac{E_u}{d_u}+\frac{E_v}{d_v}\)(\(E(u)\) 表示点 \(u\) 被经过的期望)
阅读全文
摘要:2D1D 决策单调第一题 传送门 思路 先排个序 定义状态 \(dp[i][j]\) 表示前 \(i\) 个村庄,设置了 \(j\) 个邮局的最小距离和 有朴素的状态转移方程: \(dp[i][j]=min\{dp[k][j-1]+w[k+1][i]\}\) 其中,\(w[i][j]\) 表示在区间
阅读全文

浙公网安备 33010602011771号