Icefox的博客

生活不止眼前的苟且,还有诗和远方。

Wannafly挑战赛18

https://www.nowcoder.com/acm/contest/129#question A.序列(组合数学) -2和0.5一样多,且都为偶数,枚举一下具体个数就好了 O(n)O(n)O(n) 考时ZZ了,不会跳了过去…很久以后才A掉gg B.随机数(矩阵快速幂) 设f[i]...

2018-06-22 23:09:24

阅读数:38

评论数:0

CF750E New Year and Old Subsequence(dp+线段树分治+矩阵)

我们考虑5种状态的矩阵: 0–什么都没出现 1–出现了2 2–出现了20 3–出现了201 4–出现了2017 重定义 加法为取min,乘法为 加,每个点根据字符可以得到一个初始矩阵 那么答案就是l~r的矩阵的乘积。因为矩阵乘法满足结合律,因此我们可以用线段树分治来快速求区间矩阵乘...

2018-06-17 23:57:16

阅读数:78

评论数:0

bzoj4037 [HAOI2015]数字串拆分(矩阵快速幂+dp)

对于计算f[n],我们显然可以构造出m*m的转移矩阵A来矩阵快速幂求。 然后我们考虑最后的答案,如果是分成了k个数:a1,a2,…,ak。 那么结果就是Aa1+a2+...+ak=Aa1∗Aa2∗...∗AakAa1+a2+...+ak=Aa1∗Aa2∗...∗AakA^{a_1+a_2+.....

2018-06-11 21:53:22

阅读数:97

评论数:0

bzoj3640 JC的小苹果(期望dp+Gauss+矩阵求逆)

我们有比较显然的期望dp,f[x][i]表示到x点血量为i的期望次数。 我们有转移f[x][i]=∑yf[y][i+w[x]]du[y]f[x][i]=∑yf[y][i+w[x]]du[y]f[x][i]=\sum_y\frac{f[y][i+w[x]]}{du[y]} 直接高斯消元复杂度O(...

2018-05-25 23:10:21

阅读数:39

评论数:0

bzoj3168 [Heoi2013]钙铁锌硒维生素(矩阵求逆+匈牙利)

如果把ai替换成bj,这n个向量还是线性无关即可以。 我们求一个C∗A=B,=>C=B∗A−1C∗A=B,=>C=B∗A−1C*A=B,=>C=B*A^{-1} 矩阵求逆可以高斯消元来做,注意他原本的A矩阵也不一定就线性无关qaq 如...

2018-05-18 22:37:51

阅读数:32

评论数:0

bzoj4128 Matrix(BSGS+高斯消元,矩阵求逆+Hash表)

BSGS,只不过变成了矩阵。 学习了一下矩阵求逆,用高斯消元来做即可。O(n3)O(n^3) 还是把系数矩阵放左面,右边的常数向量变成了一个单位矩阵。高斯消元即可,最后左边变成了一个单位矩阵,右边就是我们的逆矩阵。

2018-04-28 20:20:01

阅读数:37

评论数:0

bzoj4000 [TJOI2015]棋盘(状压dp+矩阵快速幂)

题目中的标号都是从0开始的!所以攻击模板中你的位置为中间那一行!所以可以只考虑相邻两行的转移!先处理出f[s1][s2]表示相邻两行状态为s1,s2是否可行。 然后n很大,所以我们要矩阵加速。 复杂度O((2m)3logn)

2018-04-02 20:40:17

阅读数:52

评论数:0

bzoj3113/hdu2481 Toy(矩阵树定理+polya+矩阵快速幂)

这神题,真是给跪了orz 首先你需要做过bzoj1002,我们得到了一个递推式f[n]=3f[n−1]−f[n−2]+2f[n]=3f[n-1]-f[n-2]+2,用来算n个点的方案数。 然后这题旋转同构,你需要polya,因为n很大,所以要欧拉函数优化,所以答案就是∑i|nϕ(i)f[n/i...

2018-03-30 15:33:36

阅读数:51

评论数:0

poj2888 Magic Bracelet(burnside引理+矩阵快速幂+欧拉函数)

用m种颜色给n个点的一个环染色,有一些限制条件,表示颜色a和颜色b不能相邻,考虑旋转同构,求方案数。(m<=10,n<=1e9) n很大,只能O(n−√)O(\sqrt n)枚举循环节个数k,枚举素数计算欧拉函数。因为颜色的限制,我们现在的问题在于要计算:给定一些颜色不能相邻,把k个...

2018-03-27 18:31:53

阅读数:58

评论数:0

bzoj1444 [Jsoi2009]有趣的游戏(ACAM+矩阵+概率dp)

给定n个长度为l的模式串,现在要用前m个大写字母生成一个随机串,每个字符有自己的出现几率,第一次出现的字符串获胜,求最终每个字符串的获胜几率建出ACAM,搞出Trie图,弄出转移矩阵: 如果某个节点是模式串结尾那么这个节点只向自己连一条概率为1的出边(因为只要一走到结尾节点游戏就停止了)否则的话...

2018-03-23 21:09:00

阅读数:60

评论数:0

poj2778 DNA Sequence (ACAM+dp+矩阵倍增)

求不包含模式串的文本串个数,n极大。我们还是类似的建出ACAM,然后在上面跑dp,只不过这次我们要矩阵倍增来加速。复杂度O((m∗len)3logn)O((m*len)^3logn)

2018-03-22 21:56:59

阅读数:41

评论数:0

bzoj1494 生成树计数(状压dp+生成树+矩阵倍增)

看数据,k<=5,n<=1e15,n极大,显然只能矩阵倍增去算。考虑dp,k极小,每个点最多能和前k个点连边,因此我们需要知道前k个点的联通情况,采用状压dp,用最小表示法。 我们可以先用一个DFS预处理出所有可能出现的连通性的状态。然后再枚举连通性状态S以及下一个点和S里的K个点中...

2017-10-12 22:37:48

阅读数:179

评论数:0

NOIP模拟9.23(TYVJ NOIP2017模拟赛D1)

T1 回形遍历 T2 排列 T3 近似排列计数

2017-09-27 11:23:40

阅读数:408

评论数:0

bzoj4887 [Tjoi2017]可乐(dp+矩阵倍增)

f[0][i][t]表示第t秒到i的全部方案(含之前已经在i炸掉的)f[1][i][t]表示第t秒到i而且还在i没炸的方案数,则 f[0][i][t]=f[0][i][t-1]+f[1][j][t-1]+f[1][j][t-1]|i,j之间有边 f[1][i][t]=f[1][j][t-1]+...

2017-08-17 14:31:08

阅读数:345

评论数:0

bzoj2875 [noi2012]随机数生成器(矩阵倍增)

挺裸的矩阵倍增。。。就是再处理一下ll*ll.思想类似快速幂,例如对x*y,把x变成二进制,y去倍增,每次都mod m,变乘法为许多次加法,保证不会溢出。

2017-08-10 23:31:37

阅读数:203

评论数:0

hdu2604 queuing(dp+矩阵倍增)

f[i]表示i个人排队时为E-queue的方案数。则有:f[n]=f[n-1]+f[n-3]+f[n-4] 解释一下:第n个人为m时,前n-1个只要合法就行,所以是f[n-1]. 第n个人为f时,前n-1个人合法不能保证这n个都合法,我们再看第n-1位,第n-1位为m时,第n-2为显然只能是m...

2017-08-10 23:30:57

阅读数:190

评论数:0

bzoj4870 [Shoi2017]组合数问题(dp+矩阵倍增)

翻译一下题目:实际上就是要我们从nk件物品里面选出若干件,使得其数量模k等于r的方案数。f[i][j]表示前i件物品拿了若干件使得其数量模k等于j的方案数。显然有dp方程:f[i][j]=f[i-1][j]+f[i-1][j-1]。初始值:f[0][0]=1.用矩阵快速幂加速一下就好啦。时间复杂度...

2017-08-10 23:30:24

阅读数:232

评论数:0

poj3233 Matrix Power Series (二分+矩阵+快速幂)

首先A^k我们可以通过快速幂求得,但是我们不能每一项都去算快速幂,这样还是会超时的。我们发现可以通过二分优化。 如果k为偶数,那么 (A+A2+....AK)=(A+...+Ak2)+Ak2∗(A+...+Ak2)(A+A^2+....A^K) = (A+...+A^{k\over 2})+A...

2017-08-10 23:29:35

阅读数:242

评论数:0

vijos1067 Warcraft III 守望者的烦恼(矩阵倍增)

f[i]=f[i-1]+f[i-2]+…+f[i-k].根据递推式构造出转移矩阵trans,trans.mat[1][n]表示f[i]。初始时f[0]=1.这便是矩阵倍增的真正用处了。。。

2017-08-10 23:27:09

阅读数:206

评论数:0

vijos1049 送给圣诞夜的礼品(矩阵倍增)

用01矩阵模拟位置的交换,m个操作为一组,倍增(k/m)次。remain的(k%m)次,单独做,最后乘起来。

2017-08-10 23:00:19

阅读数:200

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭