随笔分类 -  luogu题解

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

点击右上角即可分享
微信分享提示