摘要: ds 合集的 Part 1,此合集包含树上问题和图上问题。 树上问题 CF418D 题目链接 首先可以倍增找到 \((u,v)\) 中间的断点 \(t\)( \(t\) 和左边都去 \(u\),右边都去 \(v\))。然后就可以把树分成两部分(这里注意如果 \(t=lca(u,v)\) 不能直接取子 阅读全文
posted @ 2024-10-18 15:37 FantasyNumber 阅读(83) 评论(0) 推荐(0)
摘要: 比赛链接 M. V-Diagram 题意:给一个 \(V\) 图,求一个连续子序列平均值最大的 \(V\) 图。 设顶点是 \(x\),答案一定是 \([1,x+1],[x-1,n],[1,n]\) 三者之一,复杂度 \(\Theta(n)\)。 J. Mysterious Tree 题意:一棵树, 阅读全文
posted @ 2024-10-12 16:07 FantasyNumber 阅读(131) 评论(0) 推荐(1)
摘要: 比赛链接 A. Many Many Heads 题意:给定一个括号序列中每个位置的种类(方/圆),问是否存在唯一的方法定向括号序列,使得其为一个合法的括号序列。 首先可以贪心找出一组解,贪心方法为:维护一个栈,每次遇到一个括号时,若栈顶的括号与它种类相等,那么就把它们匹配为一组,否则就把这个括号种类 阅读全文
posted @ 2024-10-10 22:09 FantasyNumber 阅读(178) 评论(3) 推荐(1)
摘要: 比赛链接 C. Colorful Segments 2 考虑最小的分组数量,可以先按左端点排序,然后每次贪心地找到前面一个最大右端点 \(r_j < l_i\) 的组加入。 考虑计数,还是同样地按左端点排序,那么假设现在有 \(k\) 个组,每个组最大右端点是 \(g_i\)(没有元素则 \(g_i 阅读全文
posted @ 2024-10-04 22:02 FantasyNumber 阅读(79) 评论(0) 推荐(0)
摘要: 比赛链接 I. Counter 按时间排序即可,注意可以不清零。 F. Equivalent Rewriting 对于每个位置,把所有有这个位置的操作编号连向这个位置最终的值,做个拓扑排序,看看字典序最大的即可。复杂度 \(\Theta(n+m)\)。 C. Primitive Root 枚举和 \ 阅读全文
posted @ 2024-09-30 22:13 FantasyNumber 阅读(67) 评论(0) 推荐(0)
摘要: 比赛链接 B. String 由于 \(T = s_1[i,j]+s_2[j+1,k]\),那枚举 \(T\) 的这个分界点 \(p\)。提前对 \(s_1\) 正串 和 \(s_2\) 的反串建两个 SAM,那么把 \(T[1,p]\) 放到 \(s_1\) 的 SAM 上去跑,跑到节点 \(u\ 阅读全文
posted @ 2024-09-27 17:09 FantasyNumber 阅读(122) 评论(0) 推荐(0)
摘要: 比赛链接 A. tree 当 \(\forall v_i \le 1\) 时,可以直接从下往上贪心选,一个以 \(u\) 为根的子树中联通块如果权值和 \(>k\) 那么肯定能删到恰好 \(k\)。否则的话就把这个联通块并到 \(u\) 父亲上再看就行。 当 \(\forall v_i \le 2\ 阅读全文
posted @ 2024-09-27 16:22 FantasyNumber 阅读(46) 评论(0) 推荐(0)
摘要: 在进行一些序列计数问题时,会遇到状态转移的时候限制 \(a_i\) 与相邻两个数 \(a_{i-1},a_{i+1}\) 的关系(如大小、差值等)。为了更好地解决此类问题,可以在序列两端插入新的值(一般按照大小关系有序插入),所以计数的策略是钦定一些固定的段中间不能再插入新的值了,每次插入只能在两个 阅读全文
posted @ 2024-07-29 20:46 FantasyNumber 阅读(439) 评论(0) 推荐(1)
摘要: 已结坑!大概是 codeforces 上 2600~2900 的带有 data structures 标签的一些题。 Part I 树论、图论 Part II 分治、位运算 Part III 贪心 阅读全文
posted @ 2024-07-15 14:21 FantasyNumber 阅读(79) 评论(0) 推荐(1)
摘要: 倍增分块常用于处理数值递减/递增的问题,形如当 \(a_i \ge x\) 时,使 \(a_i \leftarrow a_i - x\)。 分成 \([2^k,2^{k+1})\) 的若干块。 P4587 题目链接 暴力就是排个序,然后便利值域,依次加入。加入完 \(i\) 时,遍历到值域第一个不能 阅读全文
posted @ 2024-07-11 22:01 FantasyNumber 阅读(190) 评论(0) 推荐(2)