随笔分类 -  题解

摘要:The 3rd Universal Cup 做题记录 博客迁移到 github 了,后续会在 那边 更新。 Stage 0 - Stage 9:The 3rd Universal Cup 做题记录 (1) Stage 10 - Stage 19:The 3rd Universal Cup 做题记录 阅读全文
posted @ 2024-09-25 21:38 yhddd 阅读(1021) 评论(1) 推荐(1) 编辑
摘要:https://www.luogu.com.cn/problem/CF1386C https://www.luogu.com.cn/problem/P6684 cf 上时限 \(1\) 秒,洛谷 \(2\) 秒。 思路 维护是否有奇环可用拓展域并查集。暴力复杂度 \(O(mq)\)。发现插入容易删除 阅读全文
posted @ 2024-09-11 13:36 yhddd 阅读(26) 评论(0) 推荐(0) 编辑
摘要:P7230 思路 对每个左端点维护右端点 \(res_i\)。操作形如删去一个数再加入一个数。如果删掉 \(p\) 上的 \(a_p\),找到左右最近的 \(l,r\) 使得 \(a_l=a_r=a_p\)。那么 \(res_{l+1},\dotsb,res_p\) 对 \(r\) 取 max。实际 阅读全文
posted @ 2024-09-09 18:28 yhddd 阅读(23) 评论(0) 推荐(0) 编辑
摘要:arc182c 思路 有 \(6\) 个小于 \(14\) 的质数,设这 \(6\) 个质数的指数分别为 \(x_1,\dotsb,x_6\)。\(ans=\sum (\prod_{i=1}^d (x_i+1))\)。状压这 \(6\) 个数,维护 \(val_s=\prod_{i=1}^6 (x_ 阅读全文
posted @ 2024-08-13 19:58 yhddd 阅读(21) 评论(0) 推荐(0) 编辑
摘要:P8997 思路 按题意模拟,用栈建出二叉树,叶子节点是要填的值,非叶子是运算符。 判断一个叶子能贡献能填哪些数并最终成为答案,即 dp 计算要使该叶子的值 \(ans\) 成为答案最少要填 \(num0\) 个 \(<=ans\) 和 \(num1\) 个 \(>ans\) 的数。发现 dp 只与 阅读全文
posted @ 2024-08-13 19:57 yhddd 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P8996 思路 当有 \(a_i<a_j\) 时,先放 \(a_i\),再放 \(i\) 之后连续的 \(a_k<a_i\)。设 \(i\) 后第一个比 \(a_i\) 大的位置是 \(nxt_i\),对于一个前缀最大值位置 \(i\),合并后 \([i,nxt_i)\) 的顺序不变且依然连续。让 阅读全文
posted @ 2024-08-13 19:56 yhddd 阅读(14) 评论(0) 推荐(0) 编辑
摘要:P9351 思路 观察到一次覆盖操作相当于 \((u,v)\) 向 \((u,v)\) 为中心的一个矩形挖去四个角中每个点连代价为 \(1\) 的边。 因为 \(r\le c\),\(r\le \sqrt {rc}\)。暴力是 01bfs,到每个点处理覆盖操作时枚举行一边,用 \(n\) 个并查集维 阅读全文
posted @ 2024-08-03 17:05 yhddd 阅读(7) 评论(0) 推荐(0) 编辑
摘要:arc179d 思路 设计树形 dp。\(dp_{u,0}\) 表示进子树 \(u\) 并不再出去的代价。\(dp_{u,1}\) 表示进子树 \(u\) 并返回,且传送门在 \(fa\)、不在子树内使用传送门的代价。\(dp_{u,2}\) 表示进入子树 \(u\) 并返回,且可以在子树内使用传送 阅读全文
posted @ 2024-06-06 12:23 yhddd 阅读(13) 评论(0) 推荐(0) 编辑
摘要:CF1007B 思路 显然题目要求计数 \(u\mid A,v\mid B,w\mid C\)。\(O(n\sqrt n)\) 预处理出每个数的所有因数,记为集合 \(p_i\)。 容斥,记集合 \(a,b,c,ab,ac,bc,all\) 为 \(p_A,p_B,p_C,p_A\cap p_B,p 阅读全文
posted @ 2024-06-06 11:56 yhddd 阅读(12) 评论(0) 推荐(1) 编辑
摘要:abc355e 思路 WC2024T3 中知道一个技巧:如果知道区间 \([l,r]\) 的和就连边 \(l\to r+1\),那么想推出 \([L,R]\) 的区间和就要求 \(L\) 和 \(R+1\) 联通。 按题意把符合要求的边连上,设边权为 \(1\) 跑 bfs,求出 \(L\) 到 \ 阅读全文
posted @ 2024-06-06 11:55 yhddd 阅读(11) 评论(0) 推荐(0) 编辑
摘要:abc355f 直接贺 lct 维护 mst 的代码。 思路 观察到 \(w_i\le 10\),考虑分开建 \(10\) 个图表示边权小于等于 \(i\) 的边组成的图。连并查集,记录当前图连了 \(siz_i\) 条边。 可以发现第 \(i-1\) 个图是第 \(i\) 个图的子图。所以差分 \ 阅读全文
posted @ 2024-06-06 11:54 yhddd 阅读(10) 评论(0) 推荐(0) 编辑
摘要:CF1575E 思路 点分治,记录当前子树到分治中心的权值和和换车次数。将新子树的答案合并时分类讨论分治中心到子树祖先 \(u\to v\) 的颜色。树状数组维护前缀和。复杂度 \(O(n\log^2 n)\)。 code int n,k,a[maxn],ans; int head[maxn],to 阅读全文
posted @ 2024-06-06 11:53 yhddd 阅读(7) 评论(0) 推荐(0) 编辑
摘要:CF1886E 思路 观察发现每个项目只与程序员数量和最小值有关,所以每个项目对应能力值连续的程序员最优。 项目数 \(m\le 20\),状压。设 \(dp_{i,s}\) 为前 \(i\) 个程序员匹配的项目状态为 \(s\) 是否可行,无法接受。交换维度,改为 \(dp_s\) 表示状态 \( 阅读全文
posted @ 2024-05-15 16:46 yhddd 阅读(7) 评论(0) 推荐(0) 编辑
摘要:[JOISC2022] 监狱 思路 因为是一棵树,最短路径唯一,所以每次都让一个人走到底。当走 \(s->t\),\(s->t\) 中此时没有点,意味着起点这条路径上的人一定先于这个人走,终点在这条路径导航的人一定后于这个人走。对于他们的相对顺序的限制,先走向后走连边,连边跑拓扑排序看有没有环。复杂 阅读全文
posted @ 2024-05-10 20:13 yhddd 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P10180 思路 首先答案是所有连通块大小的平方和。 先用并查集将相同颜色合起来,记录 \(sum_i\) 表示只看颜色 \(i\) 的答案。 如果对于询问 \(u,v\) 不存在 \(e(i,j)\) 满足 \(a_i=u,a_j=v\),答案为两个颜色单独的答案之和。 否则只有至多 \(n-1 阅读全文
posted @ 2024-05-10 20:12 yhddd 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P10272 P7525 加强版。 思路 分类讨论。如果 \(S\) 存在一个周期,设最小周期长为 \(len\)。那么第 \(i\) 次操作是在 \(i-1\)长度上加 \((n-len)\times 2^i\)。用字符串哈希判断是否存在长为 \(i\) 的周期,只需要判断 \(s[1,n-i]= 阅读全文
posted @ 2024-05-10 20:09 yhddd 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P10144 考场上瞪了两个小时什么没想到,最后半小时想到一个不太一样的做法,写出来了但挂了。寄。 思路 记 \(l=2\times L\)。令 \(i\) 取 \(a_i\) 记为 \(0\),取 \(l-a_i\) 记为 \(1\),写为 01 序列。 考虑取 \(0/1\) 对 \(l\) 的 阅读全文
posted @ 2024-05-10 20:06 yhddd 阅读(9) 评论(0) 推荐(0) 编辑
摘要:P7482 思路 cdq 分治拆成 \([l,mid]\) 到 \((mid,r]\) 的贡献。 对于一个区间计算答案可以用 dp 完成。以 \(mid\) 为交界合并左右的 dp 值。设 \(f_{i,0/1}\) 表示区间 \([i,mid]\) 或区间 \((mid,i]\),是否选 \(mi 阅读全文
posted @ 2024-05-10 20:05 yhddd 阅读(17) 评论(0) 推荐(0) 编辑
摘要:P8792 CF891A 思路 为了使数组只剩 \(1\),需要从一个 \(1\) 开始不断与傍边的数做 gcd 操作,需要 \(n-cnt_1\) 次。 如果数组中没有 \(1\),那t_么需要连续对一段数 \([l,r]\) 做 gcd 操作得出一个 \(1\),再用一个 \(1\) 做 \(n 阅读全文
posted @ 2024-05-10 20:05 yhddd 阅读(15) 评论(0) 推荐(0) 编辑
摘要:P7247 参考 EI 题解。 思路 因为随机移动,所以可以不管当前在具体哪个点,发现本质不同的只有根节点和非根节点。设 \(dp_{i,0/1}\) 表示还剩 \(i\) 个未标记点,当前在或不在根节点。可以通过根到随机非根节点的期望 \(x\),随机非根节点到根的期望 \(y\),随机非根节点到 阅读全文
posted @ 2024-05-10 20:05 yhddd 阅读(9) 评论(0) 推荐(0) 编辑