首页 > 其他 > 详细

CSP-S 2020模拟训练题1-信友队T4 二维码

时间:2020-11-04 22:43:14      阅读:44      评论:0      收藏:0      [点我收藏+]

题意简述

有一个初始全白的\(n*m\)大小的二维网格,每次可以选择一行或一列染全白或全黑。问可以通过任意次该操作得到多少不同的网格。答案对998244353取模。

分析

不难发现,无论怎么染色,都不可能得到这样的方案,使得

\[\exists (x_0,y_0,x_1,y_1),(x_0,y_0)=(x_1,y_1),(x_0,y_1)=(x_1,y_0),(x_0,y_0)\not=(x_0,y_1) \]

形象的理解一下:

技术分享图片

原理就是在染色的时候是同一行/列染色的,绝对不可能构成这种(可以手推一下,这个很显然)

接下来就是求有多少种。

不难发现,不同种但是颜色数量相同的网格是可以通过平移一行/列得到的,那么我们可以通过平移,将原本乱七八糟的网格变换成这样:

技术分享图片

发现这个图形是可以正着构造的。

但是对于每一个形状如何计算有多少种可能呢?套用斯特林数即可。

当然,\(O(n^2)\)是过不去的,使用信仰\(FFT\)即可\(100pts\)

什么?Where is code?

我信仰还不足,不会写\(FFT\)

【待更新】

CSP-S 2020模拟训练题1-信友队T4 二维码

原文:https://www.cnblogs.com/send-off-a-friend/p/13929148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!