2026 ABC 453

(本题解按照题目难度排序,仅用作补题记录)

A - Trimo

解题思路

简单去除前缀连续的o即可

B - Sensor Data Logging

解题思路

简单模拟一下,维护最近一次记录的结果

C - Sneaking Glances

解题思路

因为
使用 DFS 枚举每一种情况也不会超时。
可以使用一些简单的数量剪枝。
还可以使用后缀和,剪更多的枝

D - Go Straight

解题思路

题目一眼似乎是个BFS题,但是要求输出完整的路径,DFS可以反向输出路径,但情况太多了是搜不了的
可以借鉴一下DFS回溯的思想,题目中规定了每一次进入一个点的方向特殊性,也就是同一个点最多可以经过四次,我们可以记录进入该点的方向时的上一个结点的方向,也就是,找到终点之后一直回溯到起点即可。

E - Team Division

解题思路

每一个人都有的约束,如何确定一组能否成立
组 有 人, 组有人 , 若 能进入组的人有个,能进入组的人有个,组都能进的人有个人
完美分配
方案数为在 个人中 ,选 个人 ,( 是 去除组必须选的人后的数量 ) , 贡献为 组合数

接下来该处理,怎么计算,有多少个人能进入组呢
对于每一个人的区间,我们可以使用 树状数组或者线段树进行区间修改,但是使用 差分数组 最后直接计算出结果更简单。
对于组合数,使用快速幂和费马小定理预处理阶乘数组和逆元数组,直接计算

F - Binary Not Search and Queries

解题思路

如果一条边连接的是一个“叶子”,这条边切开后,一侧只有这1个叶子节点。 这意味着,必须有一种颜色,既涂在这片叶子上,又涂在树的其他部分,才能让这条边合法。
如果某个叶子涂了一个数量只有1的绝版颜色,那这条边永远不可能有一致的颜色,必定无解
既然叶子节点最娇贵,我们必须把数量大于等于 2 的颜色,成对地分配给叶子节点。
为了保证给叶子节点配对后,不会出现在同一侧导致内部的边被切断,我们需要找的不是 整棵树的重心 ,而是 叶子节点的重心(即:切开它后,每个子树包含的叶子数量都不超过总叶子数的一半)。
找到“叶子重心”后,把叶子们隔着重心对半分。一半在左,一半在右,两两发配同一对颜***r> 如果两两配对凑齐了,剩下没涂色的点随便把剩下的颜色填满即可。