我好懒啊QAQ
老规矩 从C开始
C.给一个矩阵,里面有一些紫色方块,你需要涂两个矩阵,一个红色,一个蓝色,保证你涂的颜色四连通
然后把红色蓝色矩阵叠起来要求紫色的地方必须是紫色,其他地方不能是紫色
输出方案
sol:构造题...不想做啊TAT
想了半天,想到了官方正解左右翻转一下的情况233
D.
给你一个环套树和一个k,你可以把一些边拆下来连到根上,使得所有点的深度都不超过k
问最少拆多少条边
sol:
贪心,搜到大于k的直接连
E.
给你一个矩形里有一些机器人,有一个出口,走到出口的机器人会出去,走出矩形边界的机器人会死
现在你可以令所有机器人一起上下左右走一个单位长度,操作次数不限
问最多可以让多少机器人出去
sol:
“运动是相对的”
我们可以考虑这个出口拖着一个矩形走,然后用$dp_{i,j,k,l}$表示向上下左右分别走了$i,j,k,l$步能搞到的机器人数量
转移的时候加上能拯救的机器人再减去去世的机器人就可以了
F.
给你一个树或者环套树,每个点都是白色
你每次可以翻转两个相邻同色节点的颜色,求最少多少步把所有点变成黑色
或者输出无解
sol:
这题的树和环套树根本就是骗人的...
1.为什么要有树呢?因为树是一个二分图
我们把每个深度为奇数的点想象成一个小球,把深度为偶数的点想象成一个球洞
我们要把所有球移动到球洞里
于是我们很显然想到小球 = 1,洞 = -1
然后答案就是$\sum |sig_i|$
其中$sig_i$表示$i$子树的和
2.如果多了一个偶环怎么办?
拆环