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>
如果两两配对凑齐了,剩下没涂色的点随便把剩下的颜色填满即可。

京公网安备 11010502036488号