XJOI1104NOIP模拟赛

好消息:信友队 \(2019\) 年【因版权原因该比赛名称已删除】获 \(58\) 个一等奖,在 \(2020\) 年【因版权原因该比赛名称已删除】第二轮竞赛来临之际,准备向全国免费开放赛前冲刺内部模拟训练题。开放的第一套题目是由信友队高一和高二连续进国家集训队的机房皇帝 \(\texttt{z}\color{red}{\texttt{houzhendong}}\) 同学精心设计的原创题,难度为前三年的平均值。全真模拟训练时间安排 (缺少介词) 正式竞赛的时间段:\(2020\)\(11\)\(4\) 日下午 \(14:30-18:30\),有利于选手调 好竞赛的生物钟。

T1

Description

求小于 \(m\) 的所有可以表示为 \(d_1^2+d_2^2+d_3^2+d_4^2\)\(n\),其中 \(d_1,d_2,d_3,d_4\) 表示 \(n\) 的四个最小因子。

Solution

显然 \(n\) 为偶数,一波分类讨论得出 \(n\) 只能等于 \(130\)

T2

Description

\(L^K\) 的超立方体中构造一条贯穿每一个点的路径,每次只能往一个方向走一格。

Solution

一层一层往上爬。

T3

Description

给你一个 \(n\) 个点 \(2n-2\) 条边的由两棵树拼成的图,要求把 \(n\) 个点分成两个点集 \(V1,V2\),使得 \(V1,V2\) 的导出子图均为森林。

Solution

首先,度数小于等于 \(3\) 的点一定是可以删掉的,最后把它赋为周围点中出现颜色较少的点一定合法。根据题目的性质,这个过程一定可以一直进行下去,然后就做完了。

T4

Description

给你一个 \(n\times m\) 的矩形,每次操作把一行/一列染黑/白,问最终能得到多少种不同的矩形。

Solution

考虑什么样的矩形是可以染成的。容易发现如果存在四个点 \((x_1,y_1)(x_1,y_2)(x_2,y_1)(x_2,y_2)\) 使得 \((x_1,y_1)(x_2,y_2)\) 同色,\((x_1,y_2)(x_2,y_1)\) 同色,\((x_1,y_2)(x_2,y_1)\) 异色,那么这个矩形一定是不可以染成的,反之一定可以。

对于可以的矩形,我们一定可以通过若干次交换行列操作,使得所有同色的形成一个阶梯的形状。枚举阶梯的横线和竖线条数,横线的每一条在原矩形中对应一些列,容易发现这就是第二类斯特林数,并且它们之间是有序的,故要乘上一个阶乘;对于竖线类似分析。

注意到横线条数和竖线条数的差 \(<1\),故枚举量只有 \(\operatorname O(n)\)\(\operatorname O(n^2)\) 求第二类斯特林数可以获得 \(90\) 分的好成绩,用 \(\operatorname{FFT}\) 求一行斯特林数可以做到 \(\operatorname O(n\log n)\)

有些神仙哪,看了 n = 2 和 n = 3 就知道是斯特林数乘组合数了,orz

posted @ 2020-11-04 22:22  realSpongeBob  阅读(100)  评论(0编辑  收藏  举报