传送门:https://atcoder.jp/contests/arc063/tasks
前言:越来越菜了呢
C.水题
统计不同颜色段数
D.阅读理解水题
维护前缀最小后缀最大,去重计数
E.构造思维好(难)题
给你一棵树,在一些点上写上数字。然后让你补上余下的点的值。问你是否能构造出这样一颗树,使得相邻两个点之间的差值恰好为1.
关键发现以下几点:
①相邻两个点之间奇偶性不同
②父节点的取值范围 = 所有子节点的取值范围(L - 1,R + 1)的交。交集不为空,则合法
③若满足①②,则可以随意构造一组合法解。
算法流程:跑三遍dfs. 第一二遍验证①②,第三遍构造最终答案.
核心点:将存在性问题转化成合法取值范围问题