摘要: ABC395 A 判断有没有 \(1 \le i < n\),满足 \(a_i \ge a_{i+1}\)。有则 No,没有则 Yes。 submission. B 随便递归一下,每层传入当前要覆盖的子矩阵的左上角坐标 \((x, y)\),正方形大小 \(n\),以及需要覆盖的字符 \(p\)。每 阅读全文
posted @ 2025-03-01 23:08 Water_M 阅读(63) 评论(0) 推荐(0)
摘要: C1 没有修改。 我们直接模拟人排队的过程。枚举 \(b\) 的每一个元素 \(b_i\),看看当前 \(a\) 数组的头部是不是和 \(b_i\) 相等,若是,将 \(a_i\) 移到某个位置;否则就 No。 问题来了,每次怎么移动 \(a_i\) 呢? 我们发现并不需要显式地移动,只需把用过的 阅读全文
posted @ 2025-02-24 23:11 Water_M 阅读(18) 评论(0) 推荐(0)
摘要: ABC394 A 枚举串中的所有字符,是 \(2\) 的输出就行。 submission. B 就按题意说的,按长度为关键字排序即可。 submission. C 我们使用 std::string::find() 函数,每次从上一次查找到的 WA 的位置的前一个(因为可能会产生新的 AC),总时间复 阅读全文
posted @ 2025-02-22 23:16 Water_M 阅读(109) 评论(0) 推荐(0)
摘要: 首先,段数等于相邻不等的数量加一。 如:0011101101 中,有 \((2,3),(5,6),(6,7),(8,9),(9,10)\) 相邻不等,于是段数为 \(6\)。 有了这个转化,我们就可以拆贡献到每一组【相邻不等】上了。 我们计算一个下标 \(i\) 的贡献: 找到一个 \(j \in 阅读全文
posted @ 2025-02-22 00:01 Water_M 阅读(36) 评论(0) 推荐(0)
摘要: ABC393 A 分四类输出即可。 Takahashi Aoki result fine fine 4 fine sick 3 sick fine 2 sick sick 1 submission. B \(n\) 很小,\(O(n^3)\) 枚举 \(i,j,k\),判断是否满足 \(j-i=k- 阅读全文
posted @ 2025-02-15 23:08 Water_M 阅读(85) 评论(0) 推荐(0)
摘要: 一道根号分治的典题。 因为 polylog 不好做(没有有效的数据结构维护许多个一组的区间并),故考虑根号算法。 指定一个分割点 \(B\),我们把在记录中出现次数大于等于 \(B\) 次的人称为【大人】,出现次数小于 \(B\) 次的人称为【小人】。 现在询问分为两种。 【小人】和【小人】询问。 阅读全文
posted @ 2025-02-14 23:06 Water_M 阅读(23) 评论(0) 推荐(0)
摘要: 考虑先从简单情况,即只有一个 \(s,t,l\) 的限制入手。 我们求出 \(s\) 到 \(t\) 的最短路,这条路径无论从限制角度还是从最大删边的角度都是最优的。 现在考虑两个限制。 这时,两条路径可能会有重复部分。我们用 BFS 预处理出全最短路径,然后枚举重复部分的起始点 \(u\),终止点 阅读全文
posted @ 2025-02-12 09:33 Water_M 阅读(13) 评论(0) 推荐(0)
摘要: 一句话:没有环,输出全 \(1\);有环,编号小的到编号大的染色为 \(1\),反之染色为 \(2\)。 环别判错就行。 阅读全文
posted @ 2025-02-12 08:37 Water_M 阅读(40) 评论(0) 推荐(0)
摘要: 显然每个数的后继是固定的。 处理每个区间,应该是每次加一个点,删一个点。但是我们发现原来的模型对于加点和删点并不友好,每次要影响到的点是散的,并不是一个连续的区间。 我们考虑将后继关系建出树形结构。具体地,将一个点的父亲设为其后继。没有后继的,向 \(0\) 号根结点连边。每个结点的深度就是其 Gr 阅读全文
posted @ 2025-02-10 16:28 Water_M 阅读(25) 评论(0) 推荐(0)
摘要: 祖孙关系的限制,比非祖先关系的限制要苛刻一些,我们考虑在第一棵树上 DFS 寻找答案。 在此之前,我们先处理出每个点在第二棵树上的 DFS 序,记作 \(\{dfn\}\)。 我们在第一棵树上 DFS,到结点 \(u\) 的时候判断是否应该选进来。这时,结点的 \(dfn\)【管辖】的区间形成了一定 阅读全文
posted @ 2025-02-10 14:17 Water_M 阅读(15) 评论(0) 推荐(0)