该文被密码保护。 阅读全文
posted @ 2024-04-28 14:16 incra 阅读(0) 评论(0) 推荐(0) 编辑
摘要: Prob 树上选择一些物品,有多个,要求选择的所有物品成一个连通块,求出最大的价值。 Sol 点分治,考虑强制选择某个点 u 的答案,那么就以 u 为根做多重背包,并且特判必须选 u,对于 n 个点都做一遍强制选,那么就可以取到最优解。可以证明点分治也同样可以取到了所 阅读全文
posted @ 2025-03-06 16:44 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Sol 点分治板子,写一些细节: 以下代码中,对于每个重心 rt,每次统计所有过 rt 的链对所有答案的贡献。 每一条链可以和子树外的所有链造成贡献,而并非前面枚举到的链。 Code #include <bits/stdc++.h> #define x first #define y 阅读全文
posted @ 2025-03-06 14:58 incra 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Sol 整体二分板子,没啥好说。 讲一下一些细节: 注意是区间加,最大总和可达 1023,会爆 long long。 注意复杂度,遍历出边次数最多为深度乘上边数,不会 TLE。 Code #include <bits/stdc++.h> #define x first #define 阅读全文
posted @ 2025-03-05 13:08 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Sol 保证有解,这题就会方便很多。 不难注意到两端在同个双连通分量的边定向一定任意,所以我们可以先缩边双,然后考虑缩点后的树即可。 考虑一种差分(边权差分),d[s]++,d[t]--,考虑这种差分会影响到哪些点的权值,会让 sLCA(a,b) 边权 阅读全文
posted @ 2025-03-04 15:39 incra 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Sol 分块 + 可撤销并查集好题。 假设对于每 B 个操作分一块暴力做: 对于没修改到的边,暴力加入并查集,复杂度 O(m)。 对于修改到的边,最多 B 条,按边权排序,询问也按边权排序,那么可以双指针和并查集做到 O(B2logn)。 这里可以注意到前面没修 阅读全文
posted @ 2025-03-03 20:28 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 注意到假如说温度是 t,选择的冰系人是温度 t 的,火系人是温度 t。那么答案就是 2×min(sumfire,sumice)。 注意到一个函数递增,一个函数递减,所以我们只需要维护交叉点两侧的答案即可,注意双 log 过不去 阅读全文
posted @ 2025-03-03 20:01 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Day1 2h 写完暴力,20 + 20 + 8。 看了一眼 B 想了想好像会了 B 性质 12 分,开写,写了 2h,假了,摆了,寄了。 出来发现怎么都过 A 了,草草草,问了问,我擦,怎么这么水,我是傻逼。 最终得分 20 + 20 + 8。 Day2 1h 写完暴力,44 + 8 + 8。 手 阅读全文
posted @ 2025-03-03 18:03 incra 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Sol 注意到选取包含 20 的序列一定不符合条件,因为如果把 20 一个分到前缀一个分到后缀,那么前缀 min0,后缀 mex 大于 0,不满足条件。 同时,可以发现如果没有选 \(0 阅读全文
posted @ 2025-02-13 21:02 incra 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 对于一个简单无向图,直接暴力枚举做是 O(nm) 的,假设图上的每个点的度为 degi,考虑给边重定向,如果连接的两个边度不同,那么大的连小的,如果度相同,那么编号小的连达到,此时考虑暴力做,复杂度不超过 O(mm),考虑证明: 如果 \(deg_i\le\s 阅读全文
posted @ 2025-02-12 21:29 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Link 费用流建模题。 阅读全文
posted @ 2024-11-27 17:17 incra 阅读(9) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示