上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 50 下一页
摘要: 没啥困难的。 枚举 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 阅读(12) 评论(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 阅读(10) 评论(0) 推荐(0)
摘要: 提供点分树做法。 先考虑静态问题,发现可以点分治做。具体的,对于每个分治重心,求出每个儿子子树内白点到当前重心的距离最大值。将最大和次大加起来即为两条路径拼接。 考虑动态怎么做?首先建出点分树,每个点维护两个 multiset,记为 sus_usu​ 和 tut_utu​,分别维护 uuu 子树内每 阅读全文
posted @ 2023-09-02 10:38 HappyBobb 阅读(16) 评论(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 阅读(14) 评论(0) 推荐(0)
摘要: 比较容易发现的是,由于图上不存在三元环,所以如果逃犯进了一个环,那么无论如何都抓不到了。 从 aaa 和 bbb 跑广搜,处理出到每个点的距离。接着找所有环即可。 不需要 Tarjan,平凡的,无向图 DFS 树上不存在横叉边,每一条返祖边对应一个简单环,全都搜出来就好了。 如果存在环上的点 iii 阅读全文
posted @ 2023-08-29 12:56 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要: 还比较好想。 考虑对棋盘三染色,每连着的三个必然有三种颜色。只需要将三种颜色中的其中两种分别染成 O 和 X 或 X 和 O 即可。 总共 666 种染法,选最小的那个做,鸽巢原理容易发现操作次数不超过其限制。 #include <iostream> #include <cstdio> #inclu 阅读全文
posted @ 2023-08-27 18:52 HappyBobb 阅读(17) 评论(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 阅读(10) 评论(0) 推荐(0)
摘要: 提供一个非常无脑但不太好写的做法。 考虑每一个点是否在一个人视线中,只需要考虑四个方向不遇到障碍物的情况下第一个人的方向即可。 那就直接四个方向,每个方向二分一次,找到那个人的位置就做完了。复杂度 O(n2log⁡n)O(n^2 \log n)O(n2logn),假设 n,mn,mn,m 同阶。 # 阅读全文
posted @ 2023-08-27 10:54 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要: 很简单的结论。 发现有一步十分重要,就是去重。我们考虑对于有序的无重序列中两个数 aia_iai​ 和 aja_jaj​,假设 i<ji<ji<j,aia_iai​ 加上的是 n−in-in−i,aja_jaj​ 加上的是 n−jn-jn−j。因为 aj−ai≥j−ia_j-a_i \geq j - 阅读全文
posted @ 2023-08-26 11:51 HappyBobb 阅读(17) 评论(0) 推荐(0)
摘要: 可以发现,答案一定是可二分的。 那么我们思考如何判定。首先,对于一个点,在一棵 DFS 树上,它只有两种走法。要么往下走,要么走到祖先的某个点,然后考虑能否往下。 于是我们可以设计一个 DP,fuf_ufu​ 表示 uuu 点能往下的最大长度。fu=max⁡cj=0{fj+1}f_u = \max 阅读全文
posted @ 2023-08-26 10:40 HappyBobb 阅读(13) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 50 下一页