【多校联考NOIP#2】比赛复盘 && 题解

发布时间 2023-10-11 16:47:58作者: Aslf_Ek

A.

黑白染色

这类题没有做过,第一次做,很有新意。

染色的时候,如果一个点的出边中有2个同色点,那么就有一条路中有三个同色点,是不合法的。

不妨先把所有点染成一个颜色,然后再选点染成另一个颜色。

使用一个队列,先把所有的点入队。

每次取出队头 \(u\) ,如果发现他不合法:

1.自己颜色取反

2.扫描所有出边,出边到的点 \(v\) 不合法,把 \(v\) 入队。

为什么这么做呢?如果 \(u\) 的颜色改变了, \(v\) 的颜色就有可能改变。

队列最后清空的时候,一定是合法的。

B.

置换群初步

与置换群无关系,考虑到旋转180度只是交换了两列的位置。

对于一列,起始位置->目标位置距离为奇数,则上下翻转;偶数则不翻转

check是否合法的时候map随便搞搞好了。

map搞搞T了,操蛋,发现不用map

考虑到,一次翻转只会减少一个逆序对。那么数数逆序对就行了。树状数组, \(O(nlog_2n)\)

C.

detection

题解给的是枚举每一个矩形,然后枚举切割线.

类似于二维区间DP

想区间dp先枚举区间长度一样,

二维区间DP先枚举矩形的长宽,然后再枚举左上角坐标。得到右下角坐标。

\(f_{u,d,l,r}\) 初始是 \(max(d-u+1,r-l+1)\)

\(f_{u,d,l,r}\)\(f_{u,d,l,s} + f_{u,d,s+1,r}\)\(min\)

\(f_{u,d,l,r}\)\(f_{u,s,l,r} + f_{s+1,d,l,r}\)\(min\)

答案即为 \(f_{1,n,1,n}\)

时间复杂度 \(O(n^5)\) ,空间复杂度 \(O(n^4)\)

D.

计算

先鸽.(不会)