随笔分类 -  trick

该文被密码保护。
posted @ 2025-02-25 17:02 彬彬冰激凌 阅读(7) 评论(0) 推荐(1)
摘要:CF1844G Tree Weights 神仙题。 思路 设 \(x_i\) 为 \(dis(1,i)\),有关于 \(d_i\) 的等式 \(d_i=x_i+x_{i+1}-2\times x_{lca(i,i+1)}\)。 移项得到,\(x_{i+1}=d_i-x_{i}+2\times x_{ 阅读全文
posted @ 2025-02-17 18:48 彬彬冰激凌 阅读(8) 评论(0) 推荐(1)
摘要:P6773 NOI2020 命运 数据结构上做 dp,少见但好用。 思路 首先我们用 dp 来解决这个问题。由于与祖先有关,我们不妨把一个节点的子问题限定在子树内,考虑所有从子树内连向子树外的集合 \(Q'\)。 设 \(f[u][i]\) 为 \(u\) 的集合 \(Q'\) 未被覆盖的祖先深度最 阅读全文
posted @ 2025-02-17 15:34 彬彬冰激凌 阅读(8) 评论(0) 推荐(2)
摘要:QOJ9904 最小生成树 北京大学 2024 年《数据结构与算法A(实验班)》期末考试 有趣的图论。 思路 将 \(a\) 排序,优先连接较小的 \(a\) 所表示边权的边。 并查集维护暴力连接是 \(O(n^2)\) 的,显然不可以接受。 我们观察一下性质。 发现对于 \(a_i\) 来说,对应 阅读全文
posted @ 2025-02-04 20:49 彬彬冰激凌 阅读(95) 评论(1) 推荐(2)
摘要:P3295 SCOI2016 萌萌哒 有趣的并查集+倍增 trick。 思路 考虑将必须填同一个数的位置连一条边,最后若出现了 \(k\) 个连通块,那答案就是 \(9\times 10^{k-1}\)(首位不为 \(0\))。 我们用并查集暴力连接,时间复杂度 \(O(nm)\),显然是无法接受的 阅读全文
posted @ 2025-02-04 15:11 彬彬冰激凌 阅读(12) 评论(0) 推荐(1)
摘要:P11365 Ynoi2024 新本格魔法少女りすか 神奇的压位树状数组…… 思路 序列区间查询操作,考虑分块。 处理好散块与整块之间的贡献即可。 散块对散块:每次询问的区间产生的散块用树状数组计算贡献,复杂度 \(O(\sum m_i \sqrt{n\log n})\)。 整块对散块(区间):枚举 阅读全文
posted @ 2025-01-12 19:43 彬彬冰激凌 阅读(28) 评论(0) 推荐(1)
摘要:Max Mex 和线段树维护直径集合一样的 trick。 思路 如果一条路径 \(a\) 包含 \([l,r]\) 权值中的所有点,另一条路径 \(b\) 包含和 \([x,y]\) 权值中的所有点构成的。 那么对于一条路径包含 \([l,r]\cup [x,y]\) 权值中的点,其端点一定在 \( 阅读全文
posted @ 2024-10-30 22:56 彬彬冰激凌 阅读(16) 评论(0) 推荐(2)
摘要:P10681 COTS/CETS 2024 奇偶矩阵 Tablica 来自 qnqfff 大佬的梦幻 dp。 约定 二元组 \((n,m)\) 表示一个 \(n\) 行 \(m\) 列的矩形。 不添加说明的子问题,限制与题面一致。 思路 先考虑放最后一行,发现你填的位置经过变换后可以得到其他的结果, 阅读全文
posted @ 2024-09-27 08:39 彬彬冰激凌 阅读(20) 评论(0) 推荐(1)
摘要:AT cf17 final J Tree MST 考场上想出的黑题,然而写挂了…… 思路 考场推出 boruvka 算法,会的直接跳过就好。 结论:一个点向另外一个点连出的最小边,一定在最小生成树上。 证明:参考 Kruskal 生成树的流程,若当前边(最小边)不在最小生成树上,表明边的两端已经在同 阅读全文
posted @ 2024-08-28 21:47 彬彬冰激凌 阅读(29) 评论(0) 推荐(2)
摘要:CF1503E 2-Coloring cjx 组合强。 思路 观察一下题目,不难发现只有当黄色形成如下的单峰时才合法。 (染错色了,将就一下) 其中两座峰的峰顶高度相加等于 \(m\),为了方便统计,我们钦定右边的峰一定在左峰下方的行出现,最后答案乘以二就是最终方案。 发现对于每一边是两个最长不下降 阅读全文
posted @ 2024-08-17 10:13 彬彬冰激凌 阅读(16) 评论(0) 推荐(2)
摘要:P5524 Ynoi2012 NOIP2015 充满了希望 数组开大见祖宗。 思路 利用“插入-标记-回收”这套处理函数复合的算法。 不难发现只有询问才会产生贡献,而询问的值来自于距离它最近的且能覆盖这个询问的点的覆盖操作。 可以每个询问操作保存一个 \(pre\) 指向能给这个查询位置赋值的最近的 阅读全文
posted @ 2024-08-15 15:09 彬彬冰激凌 阅读(10) 评论(0) 推荐(0)
摘要:P4690 Ynoi2016 镜中的昆虫 原题不会见祖宗。 前置 珂朵莉树、cdq 分治、树状数组 思路 单点修改区间查询 定义 \(pre_i\) 表示 \(col_i\) 的前一个一样颜色的位置,那么对于一段区间查询 \([l,r]\),我们只需要查询有区间内有多少个 \(pre_i< l\)。 阅读全文
posted @ 2024-08-14 16:18 彬彬冰激凌 阅读(10) 评论(0) 推荐(0)
摘要:P4688 Ynoi2016 掉进兔子洞 经典莫队加 bitset。 思路 不难发现最终答案就是: \[(r_1-l_1+1)+(r_2-l_2+1)+(r_3-l_3+1)-3\times size \]其中 \(size\) 表示 3 个区间内出现了多少个公共元素。 看到这么多区间,不妨有把区间 阅读全文
posted @ 2024-07-07 21:31 彬彬冰激凌 阅读(7) 评论(0) 推荐(0)
摘要:P3523 POI2011 DYN-Dynamite 小 trick,加双倍经验。 思路 使 \(dis\) 的最大值最小,可以想到二分 \(dis\),然后根据 \(dis\) 判断可行性。 那么可以把问题转化为,所有关键点到选择的点的距离小于 \(dis\) 的前提下,使得使用的点的个数最小。 阅读全文
posted @ 2024-07-07 12:58 彬彬冰激凌 阅读(6) 评论(0) 推荐(0)
摘要:P3267 JLOI2016/SHOI2016 侦察守卫P3267 JLOI2016/SHOI2016 侦察守卫 互相赋值的双 dp 思路 设 \(f[u][i]\) 表示包括 \(u\) 子树内所有关键点都被覆盖(包括 \(u\)),且至少还可以向 \(u\) 的父亲方向覆盖 \(i\) 层的最小代价。 设 \(g[u][i]\) 表示向下距离大于等于 阅读全文
posted @ 2024-06-11 13:49 彬彬冰激凌 阅读(10) 评论(0) 推荐(0)
摘要:P4629 SHOI2015 聚变反应炉 树上背包+树形dp。 算是套娃题吗? 思路 看到数据考虑数据分治。 part1 贪心 \(c_i\leq 1\) 对于这种情况,我们考虑贪心的点亮。 手玩几组数据,发现只要先全部点亮 \(c_i=1\) 的点,都可以得到最优解。 若存在一个 \(c_i=1\ 阅读全文
posted @ 2024-06-07 13:44 彬彬冰激凌 阅读(5) 评论(0) 推荐(0)
摘要:P6419 COCI2014-2015#1 Kamp 换根 \(dp\) 的 trick。 题面 钦定 \(k\) 个关键点,求每个点出发,访问完所有关键点的距离最小值。 思路 设 \(g_u\) 为从点 \(u\) 出发,访问完子树内所有关键点后,回到点 \(u\) 的距离最小值。 \(s_u\) 阅读全文
posted @ 2024-06-06 16:00 彬彬冰激凌 阅读(12) 评论(0) 推荐(1)
摘要:CF207C3 Game with Two Trees 妙到家的树上字符串问题。 约定 树 \(1\):\(t_1\)。 树 \(2\):\(t_2\)。 \(S_{1/2}(i,l)\) 为树 \(1/2\) 上节点 \(i\) 沿父亲走经过 \(l\)​ 条边所构成的字符串。 \(E_{1/2} 阅读全文
posted @ 2024-05-11 16:25 彬彬冰激凌 阅读(6) 评论(0) 推荐(0)
摘要:P8392 BalticOI 2022 Day1 Uplifting Excursion 贪心加动规,好题,这两个甚至完全相反的东西可以融进一道题…… 思路 物品较少,贡献较小,体积较小,但总体积巨大。 直接上 \(dp\) 容易把心态搞炸。 我们可以先考虑贪心,使贡献最多还剩 \(m\)。然后考虑 阅读全文
posted @ 2024-01-29 08:57 彬彬冰激凌 阅读(39) 评论(0) 推荐(0)
摘要:ARC127D Sum of Min of Xor 性质分析加通用套路。 思路 首先我们把这题的 \(\min\) 给去掉,那么我们按位算贡献,可以求出和。这是这种式子的通用套路。 考虑加上 \(\min\),那么我们先按照 \((a_i,b_i)\) 的最高位分为:\((1,0)\),\((0,1 阅读全文
posted @ 2024-01-26 09:36 彬彬冰激凌 阅读(8) 评论(0) 推荐(0)