随笔分类 - 数学方法 -- 矩阵快速幂
摘要:【BZOJ3328】PYXFIB(单位根反演,矩阵快速幂) 题面 "BZOJ" 题解 首先要求的式子是:$\displaystyle \sum_{i=0}^n [k|i]{n\choose i}f_i$。 斐波那契数列如果要快速算显然就只能对应着一个矩阵,所以我们就直接默认$f_i$是一个矩阵的形式
阅读全文
摘要:【CF1152F】Neko Rules the Catniverse(动态规划) 题面 "CF" 题解 我们先考虑一个需要扫一遍所有位置的做法。 那么状态一定是$f[i]$然后什么什么表示考虑到当前第$i$个位置的答案。 看看我们还需要记录什么,首先肯定要记录的是当前已经选了几个,所以多了一维$j$
阅读全文
摘要:【BZOJ4002】[JLOI2015]有意义的字符串(数论,矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 发现我这种题总是做不动。。。 令$A=\frac{b+\sqrt d}{2},B=\frac{b \sqrt d}{2}$。 发现$A+B=b,AB=\frac{b^2 d}{4}$。 要
阅读全文
摘要:【BZOJ4000】[TJOI2015]棋盘(矩阵快速幂,动态规划) 题面 "BZOJ" "洛谷" 题解 发现所有的东西都是从$0$开始编号的,所以状压只需要压一行就行了。 然后就可以随意矩乘了。 cpp include include include using namespace std; de
阅读全文
摘要:【CF1151F】Sonya and Informatics(动态规划,矩阵快速幂) 题面 "CF" 题解 考虑一个暴力$dp$。假设有$m$个$0$,$n m$个$1$。设$f[i][j]$表示当前做到了第$i$个操作,前$m$个元素中有$j$个$1$的方案数。 转移就枚举交换哪两个东西就可以了。
阅读全文
摘要:【BZOJ5505】[GXOI/GZOI2019]逼死强迫症(矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 如果没有那两个$1 1$的东西,答案就是斐波那契数,可以简单的用$dp$得到。 大概是设$f[i]$表示当前除了到第$i$列的方案数,转移是考虑用$2 1$竖着覆盖一列还是$2$个$1 2
阅读全文
摘要:【BZOJ4887】[TJOI2017]可乐(矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 模板题??? cpp include include include using namespace std; define MAX 35 define MOD 2017 inline int read(
阅读全文
摘要:【BZOJ5298】[CQOI2018]交错序列(动态规划,矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 考虑由$x$个$1$和$y$个$0$组成的合法串的个数。 显然就是把$1$当做隔板插入进去,那么有$y+1$个位置可以放$1$,所以方案数就是${y+1\choose x}$。 而$x^ay
阅读全文
摘要:【BZOJ4832】抵制克苏恩(矩阵快速幂,动态规划) 题面 "BZOJ" 题解 "一模一样"
阅读全文
摘要:【UOJ 340】【清华集训2017】小 Y 和恐怖的奴隶主(矩阵快速幂,动态规划) 题面 "UOJ" "洛谷" 题解 考虑如何暴力$dp$。 设$f[i][a][b][c]$表示当前到了第$i$次攻击,还剩下的$1,2,3$血的奴隶主个数为$a,b,c$的概率,每次考虑打到了哪里,做一个转移。 这
阅读全文
摘要:【BZOJ1297】[SCOI2009]迷路(矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 因为边权最大为$9$,所以记录往前记录$9$个单位时间前的、到达每个点的方案数就好了,那么矩阵大小就是$10 n$的(似乎只要$9 n$)。构建转移矩阵之后直接矩阵快速幂即可。 cpp include i
阅读全文
摘要:【BZOJ1898】[ZJOI2005]沼泽鳄鱼(矩阵快速幂,动态规划) 题面 "BZOJ" "洛谷" 题解 ~~先吐槽,说好了的鳄鱼呢,题面里面全是食人鱼~~ 看到数据范围一眼想到矩乘。 先不考虑食人鱼的问题,直接设$f[i][j]$表示$j$时刻到达了$i$号节点的方案数,转移显然。 接下来考虑
阅读全文
摘要:【BZOJ4870】组合数问题(动态规划,矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 显然直接算是没法做的。但是要求的东西的和就是从$nk$个物品中选出模$k$意义下恰好$r$个物品的方案数。$n$的范围这么大,往快速幂的方面靠。设$f[i][j]$表示从前$i$个物品中选了模$k$意义下$j
阅读全文
摘要:AtCoder Grand Contest 003 A Wanna go back home 翻译 告诉你一个人每天向哪个方向走,你可以自定义他每天走的距离,问它能否在最后一天结束之后回到起点。 题解 什么逗逼东西。。。 D Anticube 翻译 给定$n$个数,要求选出最多的数,满足任意两个数的
阅读全文
摘要:【HDU4471】Homework(矩阵快速幂) 题面 "Vjudge" 给定一个数列的前$m$项,给定一个和前$t$项相关的递推式。 有$q$个位置的递推式单独给出,求数列第$n$项。 题解 大部分的转移还是相同的,所以可以提前构建好矩阵,预处理转移矩阵的$2^n$, 这样子可以在$O(t^2lo
阅读全文
摘要:【BZOJ2432】【NOI2011】兔农(数论,矩阵快速幂) 题面 "BZOJ" 题解 这题$75$分就是送的,我什么都不想写。 先手玩一下,发现每次每次出现$mod\ K=1$的数之后 把它减一,就变成了$0$。接着后面的数显然还是一个斐波那契数列 只是都乘了$0$之前的那个数作为倍数而已。 拿
阅读全文
摘要:【BZOJ1494】【NOI2007】生成树计数(动态规划,矩阵快速幂) 题面 Description 最近,小栋在无向连通图的生成树个数计算方面有了惊人的进展,他发现: ·n个结点的环的生成树个数为n。 ·n个结点的完全图的生成树个数为n^(n 2)。这两个发现让小栋欣喜若狂,由此更加坚定了他继续
阅读全文
摘要:CF954F Runner's Problem(动态规划,矩阵快速幂) 题面 "CodeForces" 翻译: 有一个$3\times M$的田野 一开始你在$(1,2)$位置 如果你在$(i,j)$位置 在不出界的前提下,可以走到$(i+1,j),(i+1,j±1)$ 有$n$段障碍,障碍不能走
阅读全文
摘要:【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂) 题面 "BZOJ" 题解 看到$k,p$这么小 不难想到状态压缩 看到$n$这么大,不难想到矩阵快速幂 那么,我们来考虑朴素的$dp$ 设$f[i][j]$表示当前位置为$i$,前面的$P$个位置的状态为$j$ 其中,状态的含义是某个公
阅读全文
摘要:【BZOJ1009】GT考试(KMP算法,矩阵快速幂,动态规划) 题面 "BZOJ" 题解 看到这个题目 化简一下题意 长度为$n$的,由$0~9$组成的字符串中 不含串$s$的串的数量有几个 很显然,如果组成的字符串和$s$串做$KMP$的匹配的话 是不能匹配到最后一位的 所以,我们想到一个很显然
阅读全文