上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 51 下一页
摘要: 最大流 最小割,所以这是最小割树板子。 最小割树的做法是,每次在当前集合中选两个点跑最小割,然后在树上连边,权值为最小割容量。 众所周知最大流可以求出割的方案,即从源点开始,只走没流满的边,能去的点就是和源点在一起的。 把两个点集分别做上述步骤,类似分治,复杂度 O(n3m)O(n^3m)O(n3m 阅读全文
posted @ 2023-09-09 19:07 HappyBobb 阅读(34) 评论(0) 推荐(0)
摘要: 一个经典套路是,一个字符串如果重排后可以变成回文,那么其充要条件是出现次数为奇数的字符不超过 111 个。证明显然。 注意到题目的字符集是 a 到 t,这之间总共 202020 个字符。我们只关心一个字符的出现次数的奇偶性,而非具体值。也就是说,333 和 555 本质等价。不妨考虑状态压缩,每一位 阅读全文
posted @ 2023-09-05 20:30 HappyBobb 阅读(26) 评论(0) 推荐(0)
摘要: 没啥困难的。 枚举 iii,然后找出所有在 iii 后面可以出现的 kkk。对于某个 kkk,设 (i,k)(i,k)(i,k) 中有 xxx 个 aj=aia_j = a_iaj​=ai​,那么 kkk 的贡献是 k−1−i−xk-1-i-xk−1−i−x。 发现后面 xxx 是一个等差数列,前面 阅读全文
posted @ 2023-09-03 09:28 HappyBobb 阅读(17) 评论(0) 推荐(0)
摘要: 典中典。 考虑如果 A→BA \rightarrow BA→B 的路径中必须要经过的点与 B→CB \rightarrow CB→C 必须要经过的点,除了 BBB 点之外还有交集,那显然没有这样的 A→B→CA \rightarrow B \rightarrow CA→B→C 的简单路径。 然后显而 阅读全文
posted @ 2023-09-03 09:24 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要: 提供点分树做法。 先考虑静态问题,发现可以点分治做。具体的,对于每个分治重心,求出每个儿子子树内白点到当前重心的距离最大值。将最大和次大加起来即为两条路径拼接。 考虑动态怎么做?首先建出点分树,每个点维护两个 multiset,记为 sus_usu​ 和 tut_utu​,分别维护 uuu 子树内每 阅读全文
posted @ 2023-09-02 10:38 HappyBobb 阅读(23) 评论(0) 推荐(0)
摘要: 比较显然的 DP 是很好思考的。 令 fif_ifi​ 表示前 iii 个字符的答案,转移时枚举 1≤j≤i1 \leq j \leq i1≤j≤i,判断 j∼ij \sim ij∼i 是否是一个单词,如果是,用 fj−1+s[j⋯i]f_{j-1}+s[j\cdots i]fj−1​+s[j⋯i] 阅读全文
posted @ 2023-08-29 20:27 HappyBobb 阅读(21) 评论(0) 推荐(0)
摘要: 比较容易发现的是,由于图上不存在三元环,所以如果逃犯进了一个环,那么无论如何都抓不到了。 从 aaa 和 bbb 跑广搜,处理出到每个点的距离。接着找所有环即可。 不需要 Tarjan,平凡的,无向图 DFS 树上不存在横叉边,每一条返祖边对应一个简单环,全都搜出来就好了。 如果存在环上的点 iii 阅读全文
posted @ 2023-08-29 12:56 HappyBobb 阅读(21) 评论(0) 推荐(0)
摘要: 还比较好想。 考虑对棋盘三染色,每连着的三个必然有三种颜色。只需要将三种颜色中的其中两种分别染成 O 和 X 或 X 和 O 即可。 总共 666 种染法,选最小的那个做,鸽巢原理容易发现操作次数不超过其限制。 #include <iostream> #include <cstdio> #inclu 阅读全文
posted @ 2023-08-27 18:52 HappyBobb 阅读(21) 评论(0) 推荐(0)
摘要: 考虑每一个 xi<yix_i < y_ixi​<yi​ 的组,拿回 ziz_izi​ 的票需要 ⌈yi−xi2⌉\lceil \dfrac{y_i-x_i}{2}\rceil⌈2yi​−xi​​⌉ 个人从 yiy_iyi​ 变成 xix_ixi​。 直接算出两个人的得分 a,ba,ba,b,则至少需 阅读全文
posted @ 2023-08-27 11:11 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要: 提供一个非常无脑但不太好写的做法。 考虑每一个点是否在一个人视线中,只需要考虑四个方向不遇到障碍物的情况下第一个人的方向即可。 那就直接四个方向,每个方向二分一次,找到那个人的位置就做完了。复杂度 O(n2log⁡n)O(n^2 \log n)O(n2logn),假设 n,mn,mn,m 同阶。 # 阅读全文
posted @ 2023-08-27 10:54 HappyBobb 阅读(20) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 51 下一页