摘要: 点分治 额,就是你每次去找一棵树的重心,然后将这棵子树变成以这个重心为根的树,再在这个树上进行某些操作,就可以在 O(nlogn) 的时间复杂度遍历到任意两个点 u,vP(u,v) 上某个点 x 为根时候的贡献了。那么对于类似于求点对 (u,v)阅读全文
posted @ 2025-02-21 17:26 harmis_yz 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 建议开题顺序:A,B1,B2,C,E,F,D1,D2。 A. Polycarp and Coins 记 k=min(c1,c2),则 (c1k)×1+(c2k)×2+k×3=n。注意到 nmod30,1,2。所以 阅读全文
posted @ 2025-01-12 17:25 harmis_yz 阅读(13) 评论(1) 推荐(0) 编辑
摘要: CF1671E 注意到不同子树间的答案独立。那么对于 u 为根的子树,其贡献应该是其左儿子乘右儿子再乘它自己的方案。那么由于它自己的方案只与 f(l),f(r) 有关,所以当其操作后能使答案贡献增加,当且仅当 f(l)f(r)。为了排除儿子自身的影响,我们将 \(f 阅读全文
posted @ 2025-01-10 10:52 harmis_yz 阅读(10) 评论(0) 推荐(0) 编辑
摘要: CF1787D 这里有个很典的 trick。我们将 i+aii 连边,那么只要一个 <0>n 的点能够走到 i,就说明 i 能在有限的次数内出去。这玩意跑个拓扑排序即可。那么现在我们可以考虑从 1 开始走,因为只能修改一个点的值, 阅读全文
posted @ 2025-01-09 10:57 harmis_yz 阅读(2) 评论(0) 推荐(0) 编辑
摘要: CF323C 注意到这是两个排列。考虑对于每个值 x,记录 a,b 表示其在第一个和第二个排列中的位置。那么 x 会被算进答案当且仅当 l1ar1l2br2。那么这就相当于查询一个矩形内散点的数量。直接主席树维护即可 阅读全文
posted @ 2025-01-08 15:40 harmis_yz 阅读(4) 评论(0) 推荐(0) 编辑
摘要: CF600E dsu on tree 裸题。 P3899 考虑对 a,b 的关系分类讨论。对于 LCA(a,b)=b 的情况,那么 a,b 的公共后代一定在 a 的子树内。即对于所有的 (a,b),其贡献为 siza1 阅读全文
posted @ 2025-01-07 08:50 harmis_yz 阅读(41) 评论(2) 推荐(0) 编辑
摘要: 写个题解。以后看一次后悔一次。 Tender Carpenter 不难发现,每个数单独一段一定是可行的。因为能够组成等边三角形。那么问题就变成了,能否分出一段长度不小于 2 的区间,使得其合法。显然的,[l,r] 的可行性不大于 [l+1,r] 的可行性。那么枚举 \(l=i 阅读全文
posted @ 2024-12-30 18:06 harmis_yz 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 参考。 例题 序列 Sequence 分析 很显然的,我们可以得到一个 O(n2) 的 DP 做法。定义状态函数 fi,j 表示前 i 个数,ai=bj 的最小操作次数。其中 b 为原序列排序去重的结果。那么有转移方程:\(f_{i,j}=\min 阅读全文
posted @ 2024-12-23 17:57 harmis_yz 阅读(15) 评论(0) 推荐(2) 编辑
摘要: 题解摘自做题记录。 分析 数据范围明显得要让我们分开搞。 【Sub2】 应该是暴力。这里有个主体思路,我们完全可以贪心地将当前背包里的食材删掉,直到每种出现过的食材数量刚好为 1。因为我们保留更多的是没有用的。那么我们就可以用二进制数表示 x 种食材的出现状态了。 同时,可能存在当前 阅读全文
posted @ 2024-11-14 21:51 harmis_yz 阅读(3) 评论(0) 推荐(1) 编辑
摘要: 10.12 开始写,每天做的题都在这里了。 AT_arc058_b 考虑组合数。 对于从 (1,1) 走到 (n,m) 的方案数,显然是 C(n1+1)+(m1+1)2(n1+1)1/(m1+1)1。那么考虑枚举一个行 \(i(1\le i \le 阅读全文
posted @ 2024-10-17 10:39 harmis_yz 阅读(26) 评论(1) 推荐(1) 编辑
点击右上角即可分享
微信分享提示