[GXOI/GZOI2019]逼死强迫症 题解
传送门
题意:用n−1n-1n−1块大小为1×21\times21×2的砖和两块大小为1×11\times11×1的砖铺满2×n2\times n2×n的路,要求两块小砖不能有边相邻,求方案数。
这题简直是弟中弟。
首先设fif_ifi表示用1×21\times21×2的砖铺满2×n2\times n2×n的路的方案数,显然fif_ifi是斐波那契数列。
并注意到斐波那契数列的一个重要性质:∑j=0ifj=fi+2−1\sum\limits_{j=0}^if_j=f_{i+2}-1j=0∑ifj=fi+2−1,这个证明用数学归纳法即可。
设gig_igi表示n=in=in=i时的答案,考虑gig_igi的递推式。
如果第iii列竖着放一个2×12\times12×1的砖块,剩下的方案数是gi−1g_{i-1}gi−1;如果第iii和i−1i-1i−1列横着放两个1×21\times21×2的砖块,剩下的方案数是gi−2g_{i-2}gi−2。
如果第iii列放了一个1×11\times11×1的小块,那么另一个小块只能在111到i−2i-2i−2列中挑一列jjj,如果jjj与iii奇偶性相同那么它们必须在不同行,否则必须在相同行;并且当这两个小块的位置定下来之后这两列中间的部分有且仅有一种摆放方案(自己画图或脑补易知)。因此方案数是2∑j=0i−3fj=2fi−1−22\sum\limits_{j=0}^{i-3}f_j=2f_{i-1}-22j=0∑i−3fj=2fi−1−2
综上gi=gi−1+gi−2+2fi−1−2g_i=g_{i-1}+g_{i-2}+2f_{i-1}-2gi=gi−1+gi−2+2fi−1−2,其中fi=fi−1+fi−2f_i=f_{i-1}+f_{i-2}fi=fi−1+fi−2,矩阵快速幂即可解决。
太水了,代码不贴了。
[GXOI/GZOI2019]逼死强迫症 题解相关推荐
- P5303 [GXOI/GZOI2019]逼死强迫症 题解
P5303 [GXOI/GZOI2019]逼死强迫症 P5303 [GXOI/GZOI2019]逼死强迫症 说实在的这题不难,但是我推 Dp\tt DpDp 的时候却只和正解相差一点,最后还是看了题解 ...
- GXOI/GZOI2019 逼死强迫症 题解
题目传送门 题目大意: 有一个 2×n2\times n2×n 的网格图,有 nnn 个 1×21\times 21×2 的方块,其中一个被劈开变成了两个 1×11\times 11×1 大小的方块, ...
- 【题解】Luogu-P5303 [GXOI/GZOI2019]逼死强迫症
P5303 [GXOI/GZOI2019]逼死强迫症 Preface 矩阵题的登峰造极之作. Description 有 TTT 组数据. 对于每组数据,给定正整数 NNN,请求出用 (N−1)(N- ...
- 【详●析】[GXOI/GZOI2019]逼死强迫症
[详●析][GXOI/GZOI2019]逼死强迫症 脑子不够用了... [题目大意] 在\(2\times N\)的方格中用\(N-1\)块\(2\times 1\)的方砖和\(2\)块\(1\tim ...
- P5303 [GXOI/GZOI2019]逼死强迫症(斐波拉契、矩阵乘法)
解析 非常妙的一个题,感受到了斐波拉契优美的归纳性质. 首先,不难发现只要两个1*1的位置固定,中间的摆法就固定了,而两边的方案都是经典的斐波拉契数列(设为 fif_ifi). 那么枚举中间的间隔再 ...
- [GXOI/GZOI2019]逼死强迫症
一.题目 点此看题 二.解法 设f[i]f[i]f[i]为大小为2×i2\times i2×i的矩阵填充的方案数,首先考虑不放特殊格子(1×11\times 11×1),那么可以从f[i−1]f[i- ...
- GXOI/GZOI2019题解
GXOI/GZOI2019题解 P5300 [GXOI/GZOI2019]与或和 一眼题.. 显然枚举每个二进制位,答案就变成了全1子矩阵数量. 这个xjb推推,单调栈一下就行了. #include& ...
- 【LOJ】#3086. 「GXOI / GZOI2019」逼死强迫症
LOJ#3086. 「GXOI / GZOI2019」逼死强迫症 这个就是设状态为\(S,j\)表示轮廓线为\(S\),然后用的1×1个数为j 列出矩阵转移 这样会算重两个边相邻的,只要算出斐波那契数 ...
- [数据结构专训][GXOI/GZOI2019]旧词,[hdu5118]GRE Words Once More!,[hdu6333]Problem B. Harvest of Apples
文章目录 T1:[GXOI/GZOI2019]旧词 solution code T2:GRE Words Once More! solution code T3:Problem B. Harvest ...
最新文章
- USB入门系列之二:USB的连接模型
- 07 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(上)
- python心理学实验程序_psychopy coder模式编写心理试验程序 字符程序和记录反应时...
- 力扣--让字符串成为回文串的最少插入次数
- Project Euler 92:Square digit chains 平方数字链
- 第五章 基元类型,引用类型和值类型
- python sum 数组原理_Python – Sum 4D数组
- selenium 控制ie_牛鹭学院:selenium入门基础及中级进阶
- 程序猿月薪过 7 万,可以落户北京了!
- linux怎么启动ibus框架,fedora13 gnu/linux下 重启启动ibus输入法框架
- vue使用tinymce富文本编辑器
- 高德地图API-获取位置信息的经纬度
- 浏览器内核信息和功能查看
- 《VP9 Levels and Decoder Testing》笔记
- Unicode编码之显示定向重写
- Vj程序设计作业H5
- Python函数(西安加油!!!)
- Mac清倒废纸篓提示“voicetrigger“在使用中
- 华为悦盒EC6108V9通刷固件及教程
- 禁用计算机外部设备,禁用扫描仪的多种方法
热门文章
- 烦立停第43期:分手!狗庄虐我千百遍,我待狗庄如初恋!
- 分层抽样不按比例如何加权_分层抽样的公式怎么计?
- ubuntu虚拟机迁移/移动/复制后无法上网
- CAPM 资本资产定价模型
- Java 数据转换/进制转换 工具类
- java 通过snmp协议获取物理机CPU、内存容量及使用率,存储的容量及使用率
- Spring(https://www.zhihu.com/question/38597960)
- linux文件改为nobody,Nginx配置中user设置为nobody有什么用?
- 吴恩达机器学习exercise笔记
- 2014智联卓聘积分获取新攻略