CSP-S 2020模拟训练题1-信友队T4 二维码
题意简述
有一个初始全白的\(n*m\)大小的二维网格,每次可以选择一行或一列染全白或全黑。问可以通过任意次该操作得到多少不同的网格。答案对998244353取模。
分析
不难发现,无论怎么染色,都不可能得到这样的方案,使得
\]
形象的理解一下:
原理就是在染色的时候是同一行/列染色的,绝对不可能构成这种(可以手推一下,这个很显然)
接下来就是求有多少种。
不难发现,不同种但是颜色数量相同的网格是可以通过平移一行/列得到的,那么我们可以通过平移,将原本乱七八糟的网格变换成这样:
发现这个图形是可以正着构造的。
但是对于每一个形状如何计算有多少种可能呢?套用斯特林数即可。
当然,\(O(n^2)\)是过不去的,使用信仰\(FFT\)即可\(100pts\)
什么?Where is code?
我信仰还不足,不会写\(FFT\)
【待更新】
CSP-S 2020模拟训练题1-信友队T4 二维码的更多相关文章
- CSP-S 2020全国开放赛前冲刺模拟训练题1 T4 二维码
组合 首先可以考虑一个状态合法的条件,可以发现的是最后得到的矩阵一定是至少有一行或是有一列全$0$或$1$,如果把这一列或这一行删掉那么将剩下的子矩阵拼接起来又是一个子问题,同样的也是至少有一列或一行 ...
- Atitit 常用二维码对比(QR、PDF417、DM、汉信码 Aztec code maxicode
Atitit 常用二维码对比(QR.PDF417.DM.汉信码 Aztec code maxicode DM码则更"小",可在仅仅25mm²的面积上编码30个数字.但也就是因为太小 ...
- iOS摇一摇功能、震动功能、简单的摇动动画、生成二维码图片与发送短信等几个功能
有一个开锁的功能,具体的需求就类似于微信的"摇一摇"功能:摇动手机,手机震动,手机上的锁的图片摇动一下,然后发送开锁指令.需求简单,但用到了许多方面的知识. 1.摇一摇 相对这是最 ...
- [Writeup]二维码的一个题
[Writeup]二维码的一个题 瓜皮感觉难出题眼,恶魔暴力膜法初现 看题 一个二维码,扫出来是where is the flag?(where is my mind?) 先感觉 用binwalk扫一 ...
- iOS几个功能:1.摇一摇;2.震动;3.简单的摇动动画;4.生成二维码图片;5.发送短信;6.播放网络音频等
有一个开锁的功能,具体的需求就类似于微信的“摇一摇”功能:摇动手机,手机震动,手机上的锁的图片摇动一下,然后发送开锁指令.需求简单,但用到了许多方面的知识. 1.摇一摇 相对这是最简单的功能了. 在v ...
- 基于日志服务的GrowthHacking(1):数据埋点和采集(APP、Web、邮件、短信、二维码埋点技术)
数据质量决定运营分析的质量 在上文中,我们介绍了GrowthHacking的整体架构,其中数据采集是整个数据分析的基础,只有有了数据,才能进行有价值的分析:只有高质量的数据,才能驱动高质量的运营分析. ...
- CSP-S 2020模拟训练题1-信友队T1 四平方和
题意简述 \(n\)是正整数,其四个最小的因子分别为\(d_1,d_2,d_3,d_4\). 求对于所有的\(n \le m\)满足 \[d_1^2+d_2^2+d_3^2+d_4^2=n \] 的\ ...
- 剑指offer编程题Java实现——面试题3二维数组中的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 下面是我实现的代码 ...
- 计算机二级-C语言-程序设计题-190119记录-求出一个二维数组每一列的最小值。
//编写一个函数:tt指向一个M行N列的二维数组,求出二维数组每列中最小的元素,并依次放入pp所指的一维数组中.二维数组中的数在主函数中赋予. //重难点:求出的是每一列的最小值,这里要注意,学会简化 ...
- ACM_水题你信吗
水题你信吗 Time Limit: 2000/1000ms (Java/Others) Problem Description: 某发最近又认识了很多妹(han)子,可是妹(han)子一多不免有时会忘 ...
随机推荐
- 如何调用CMD实现多个同类文件合并的研究 · 二进制 · 依次 · 文本图像视频音频
引言 视频网站内,使用视频下载嗅探器下载了视频,打开资源管理器一看,是几千个.ts文件,见下图: 通过播放部分视频,发现其实内容是完整的,只是自动切割了多份,倘若无缝拼接为一个完整视频单元,就可以 ...
- Window10永久暂停(禁用)自动更新
终于彻底设置window10不自动更新了(禁用自动更新) 设置成功后的标识 设置成功后,重启电脑再打开就会显示这样的,这个才是禁用成功的标识: 之前安装了window 10 ,但是window 10 ...
- git 烂笔头
git 烂笔头 触类旁通, 举一反三, 不求甚解, 欢迎补充 详细介绍 git connect github # 1. 本地配置, 姓名和邮箱 git config --global user.nam ...
- 怎么给EXE文件加启动参数
第一步 首先右键单击 exe 文件文件,创建 exe 文件的快捷方式. 第二步 右键单击此快捷方式--属性. 在快捷方式属性界面,点击目标后面的链接. 先打一个空格然后输入参数,然后点击应用按钮.确定 ...
- 关于DevExpress VCL汉化方法
用法1:在工程中加入控件cxLocalizer; 在程序中加入如下语句: Localizer.LoadFromFile('DevLocal.ini'); Localizer.Language := ' ...
- SpringBoot 部署:外置依赖包
目录: 1.前言 2.瘦身前的Jar包 3.解决方案 一.前言 SpringBoot部署起来虽然简单,如果服务器部署在公司内网,速度还行,但是如果部署在公网(阿里云等云服务器上),部署起来实在头疼:编 ...
- JAVA基础之多线程一期
一.并发与并行的区别 并发:指同一时间段,两个或多个事件交替进行 并行:指同一时间段,两个或多个事件同时进行 二.进程与线程的区别 进程:正在内存中运行的程序就是进程 线程:线程归属于进程,它是进程中 ...
- 微信公众号-自定义微信分享(vue)(JS-SDK)
1.需求描述 日常公众号开发中,业务部门对于微信内置分享(右上角->分享到朋友等)效果不太满意,需要我们自定义相关分享效果 1.1微信默认分享效果展示 1.2通过自定义分享后效果展示 1.3微信 ...
- 康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键!
为确保AD/ADAS系统的安全性,各大车企通常需要收集.处理和分析来自于摄像头.激光雷达等传感器的数据,以找出提高系统安全性和性能的方法.然而在数据收集过程中,不可避免地会出现大量无价值数据,造成数据 ...
- requirejs的简单使用,requirejs报错Uncaught Error: Mismatched anonymous define() module: …
requirejs的简单使用 define()方法的3个参数: 参数1为模块名称(不填则以当前js的文件名定义一个匿名模块), 参数2为依赖项数组(可不填), 参数3为模块的实现 引入jQuery: ...