随笔分类 -  dp

摘要:容易发现 \(k_i=0\) 时只有两种策略: 假如我这里不选,接下来不会再出现清空,且没有选入集合的集合为 \(T\),我们就让这个地方为 \(T\)。 否则早死比晚死好,直接原地起爆,清空集合。 显然第一种决策只会在最后连续出现,所以我们找到最长不重复后缀 \([r,n]\),那么这一段区域里最 阅读全文
posted @ 2025-02-21 21:38 长安一片月_22 阅读(0) 评论(0) 推荐(0) 编辑
摘要:发现难以维护差值,于是令 \(K=\frac{n+k}2\),这样就把问题转化为了“糖果”比“药片”大的组数为 \(K\) 的情况有多少种。 设 \(dp_{i,j}\) 表示我们用前 \(i\) 个“糖果”和“药片”配对,至少有 \(j\) 组“糖果”比“药片”大,有多少种情况;\(c_i\) 表 阅读全文
posted @ 2025-01-23 11:12 长安一片月_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要:我们先假设同种糖间存在差异。 设 \(f_{i,j}\) 表示前 \(i\) 种糖至少有 \(j\) 人拿到的糖和原来一样,\(c_i\) 表示拿第 \(i\) 种糖的人的个数,则有: \[f_{i,j}=\sum_{k=0}^{\min(j,c_i)}f_{i-1,j-k}\binom{c_i}k 阅读全文
posted @ 2025-01-23 10:36 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑
摘要:显然有一个 \(dp\) 思路。设 \(f_{i,j}\) 表示现在修了 \(i\) 栋楼,从第一栋楼外侧能看到 \(j\) 栋楼的方案数,显然有: \[f_{i,j}=\begin{cases}[i=0](j=0)\\f_{i-1,j-1}+(i-1)f_{i-1,j}(j\ne 0)\end{c 阅读全文
posted @ 2025-01-23 09:42 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑
摘要:老师发福利,放了两道一毛一样的题。 考虑无视战术,直接化简: \[\sum_{v=1}^ndis(u,v)^k=\sum_{v=1}^n\sum_{i=0}^k\begin{Bmatrix}k\\i\end{Bmatrix}dis(u,v)^{\underline i} \]\[=\sum_{i=0 阅读全文
posted @ 2025-01-23 09:03 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑
摘要:首先只要得到 \(x=0\) 时的答案,就可以 \(AC\) 本题。这是很重要的。 考虑由于不能有重复经过的边,所以两路径交点数量 \(\le 1\)。 容易想到设 \(dp_u\) 表示以 \(u\) 为端点的链中的贡献最大值。考虑换根 \(dp\),所以先设它只表示它子树内的部分。 当交点数量 阅读全文
posted @ 2024-12-21 09:50 长安一片月_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要:感觉长脑子了。 考虑在路线两端点的 \(lca\) 计算贡献,那么线段可以分两类: \(u\) 为 \(v\) 祖先。 \(u,v\) 互不为祖先。 设 \(dp_i\) 表示只考虑 \(i\) 子树内的路线时的答案。 引理:若插入一条以 \(i\) 为 \(lca\) 的路径会使以 \(i\) 的 阅读全文
posted @ 2024-12-20 22:04 长安一片月_22 阅读(11) 评论(0) 推荐(0) 编辑
摘要:明显有森林的趋势,但是很有可能会出现环,相当于最后图的形状一定是树和基环树森林。 考虑到环内所有点一选俱选,一没俱没,所以可以直接缩成一个点。 然后就是最基础的树上背包 \(dp\),和金明差不多。 时间复杂度 \(O(nm^2)\)。 #include<bits/stdc++.h> using n 阅读全文
posted @ 2024-12-19 18:19 长安一片月_22 阅读(4) 评论(0) 推荐(0) 编辑
摘要:好题好题,太棒了这题! 直接想是十分困难的,你连 \(dp\) 状态都想不出合理的,因此考虑二分答案,转化成一个判定问题。下文 \(d\) 表示二分出的答案。 设 \(sum_i\) 表示 \(i\) 子树内的合法路径数,那他就一共分为两部分: 来自于 \(sum_{son}\),直接累加即可。 经 阅读全文
posted @ 2024-11-10 19:59 长安一片月_22 阅读(10) 评论(0) 推荐(0) 编辑
摘要:好好好。 我们设当前处理 \(i\) 的答案,那么最后的图就可以分成两个部分:\(1\) 所在的联通块和其他,根据乘法原理,答案就是它们二者方案的乘积。 设 \(f_s\) 表示集合 \(s\) 中所有点联通时图的情况数,\(g_s\) 表示集合 \(s\) 中所有点不一定联通时图的情况数,则有: 阅读全文
posted @ 2024-10-14 21:41 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑
摘要:有点水了…… 考虑相邻的不能放在一起,不相邻的可以,那么很容易想到转移方程: \[dp_{i,j}=\sum_{k=0}^{25}dp_{i-1,k}[j,k不相邻] \]其中 \(dp_{i,j}\) 表示填了 \(i\) 位,最后一位填 \(j\)。 那结合数据范围,显然矩阵快速幂。 时间复杂度 阅读全文
posted @ 2024-10-14 19:41 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要:好题好题,难者不会会者不难,我是前者。 实际上加入就可以合法的数是很好计算的。考虑现在所有前缀合法串后的字符实际上都可以满足条件。 容易想到根据是否合法设置状态。设 \(f_{i,j}/g_{i,j}\) 表示现在填第 \(i\) 个数,有 \(j\) 个填了就合法的数,现在的串合法/不合法。 那么 阅读全文
posted @ 2024-10-14 19:14 长安一片月_22 阅读(10) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-10-14 17:56 长安一片月_22 阅读(7) 评论(0) 推荐(0) 编辑
摘要:考试一道题题解。 30pts:枚举所有串,\(check\) 是否可行。 60pts:做 \(bfs\),暴力推演变化过程,用 \(map\) 去重,时间复杂度 \(O(nC_{n}^{n/3}C_{n-n/3}^{n/3})\)。 #include<bits/stdc++.h> #define l 阅读全文
posted @ 2024-07-31 21:17 长安一片月_22 阅读(10) 评论(0) 推荐(0) 编辑
摘要:在考场遇到了这道题,感觉很有意思。 当时直接想到的就是虚树,可惜打挂了。 后来改对了,写篇题解纪念一下。 首先看到 \(\sum M_i\le 2\times 10^5\),很容易想到虚树的数据范围。 我们设 \(dp_i,fg_i\) 表示将 \(i\) 的子树全部染白或染黑需要多少次,\(vis 阅读全文
posted @ 2024-07-24 15:06 长安一片月_22 阅读(9) 评论(0) 推荐(0) 编辑
摘要:后缀自动机维护子串公共后缀方便一点,所以直接倒序插入字符串即可。 我们给所有前缀打上标记,然后跑树形 \(dp\),设 \(sum_i\) 表示第 \(i\) 个点的子树内有多少个前缀,\(ans\) 统计 \(\sum \text{LCP}(T_i,T_j)\),则有: \[ans=\sum\li 阅读全文
posted @ 2024-07-10 10:22 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑
摘要:所有子串,一眼 \(\text{SAM}\)。 从根开始一直往下走,走到任何一个点都代表一个子串。维护 \(sm\) 表示每个子串有几个(\(t=0\) 就当一个),可以用树形 \(dp\) 跳后缀链接树,然后暴力跑 \(\text{SAM}\) 即可。 当然我们发现这样时间复杂度会爆炸,因为第二部 阅读全文
posted @ 2024-07-10 08:09 长安一片月_22 阅读(9) 评论(0) 推荐(0) 编辑
摘要:我们设 \(dp_{i,j}\) 表示第 \(i\) 到第 \(j\) 个括号合并为序列且最外层不是括号 \(i\) 的可能性,\(f_{i,j}\) 表示最外层是括号 \(i\) 的可能性。则有: \[\begin{cases} dp_{i,j}=\sum f_{i,k}(dp_{k+1,j}+f 阅读全文
posted @ 2024-07-08 10:12 长安一片月_22 阅读(14) 评论(0) 推荐(0) 编辑
摘要:考试压轴题,意识到这题是线段树优化 \(dp\) 时追悔莫及。 为了简化题目,我将从起点到原点变成了从原点到起点(这样就可以省去两个数组的空间)。 想到设 \(dp_{i,j}\) 表示在第 \(i\) 层,奶牛们在 \(j\) 列时的最小移动范围,则转移方程为(设输入为 \(l,r\)): \[\ 阅读全文
posted @ 2024-06-04 20:56 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要:发现可以直接建立虚树。 设 \(dp_{u,0/1/2}\) 表示第 \(u\) 个节点的子树内,所有选中节点到它的距离之和/选中节点中到它的最短距离/选中节点中到它的最长距离,\(as_{u,0/1/2}\) 则代表对于这个子树,题目所问问题的三个答案,\(i1,i2\) 分别为使 \(dp_{u 阅读全文
posted @ 2024-04-20 20:28 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑

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