矩阵乘法
WerKeyTom_FTD
我是一只来自中山纪念中学高三的oier,请多多指教
展开
-
[bzoj1875][SDOI2009]HH去散步
题目描述HH有个一成不变的习惯,喜欢饭后百步走。所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离。 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回。 又因为HH是个喜欢变化的人,所以他每天走过的路径都不完全一样,他想知道他究竟有多 少种散步的方法。 现在给你学校的地图(假设每条路的长度都是一样的都是1),问长度为t,从给定地 点A走到给定地点B共有多少条符合条件的路径矩原创 2016-03-19 13:22:16 · 581 阅读 · 0 评论 -
[bzoj4162]shlw loves matrix II
题目大意给你n∗nn*n的矩阵AA,求AmA^m。特征多项式这是一个特征多项式IDE练习题。 矩阵A的特征多项式f(x)为det(A-Ix)。 可以发现f(A)=0。 如何求f(x)?代入n+1个点值求行列式,再插值插出f(x)。 设g(x)=x^m mod f(x)。 可以发现g(A)=A^m mod f(A)=A^m。 因此我们可以多项式快速幂+取模求出g(x),再代入A即可。#in原创 2018-04-03 12:26:37 · 604 阅读 · 0 评论 -
[agc003f]Fraction of Fractal
做法注意到上下左右都联通答案是1,都不连通答案是黑格数的次幂。 判掉后发现只有一边联通很好做,矩阵乘法上就行了。#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;const int mo=1000000007;cha原创 2017-10-27 10:15:20 · 522 阅读 · 0 评论 -
[agc013e]Placing Squares
前言这题啃了好久啊。 一开始就知道要解决子问题,但没想到是模型转换,只是对着式子乱搞,推了好久(中途推出了一个隔项斐波那契数列)然而最后证实我式子推错了(菜醒.jpg) 于是膜拜了题解的模型转换。题意给你一个大小为m的集合S,S中不包含n。 现在对于一个正整数序列a1−aka_1-a_k,如果不存在sis_i属于集合S就是合法的,s表示a的前缀和。 这样的序列贡献是Πki=1a2i\Pi_{原创 2017-09-26 17:40:02 · 776 阅读 · 0 评论 -
[JZOJ5132][SDOI省队集训2017]子序列
题目大意字符集为9的字符串。 若干次询问区间本质不同的子序列个数。考虑暴力子序列要求本质不同。 假如每个位置向后每种字符的第一个位置连单向边。 设置一个虚点向区间每种字符第一个位置连单向边。 那么就是这个虚点出发有多少走法。 用另一种形式,你设f[i,j]表示最后走到了i,是从区间j第一次出现的位置开始走的,有多少走法。 你考虑i左移一格如何更新,发现 对于新的i,有f[i][a[i]原创 2017-06-03 22:31:16 · 884 阅读 · 0 评论 -
[bzoj4861]魔法咒语
题目描述瞎做显然是AC自动机dp。 小的直接dp大的矩阵乘法。#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;const int maxn=200+10,mo=1000000007原创 2017-04-20 16:53:04 · 853 阅读 · 0 评论 -
[bzoj3328]PYXFIB
题目大意求 ∑⌊nk⌋i=0Ci∗kn∗Fi∗k\sum_{i=0}^{\lfloor\frac{n}{k}\rfloor}C_n^{i*k}*F_{i*k} F表示斐波那契数列一点思路这个形式很眼熟? ∑ni=1Cin∗xi=(1+x)n\sum_{i=1}^nC_n^i*x^i=(1+x)^n 那么同样,我们知道Fi=Ai[0][0]F_i=A^i[0][0] A是一个2*2的矩阵,满原创 2017-04-06 17:18:16 · 784 阅读 · 0 评论 -
[51nod 1361]有一种递推
看大爷的题解吧…… 这里写链接内容转载 2016-12-21 20:40:28 · 667 阅读 · 0 评论 -
告别
题目大意一个n的排列,每次可以选择三个不同位置(这三个位置有序,(2,1,3)与(1,2,3)不同),然后对它们进行一次轮换。 只能操作m次,某一次操作过后当前排列变成了目标排列则停止操作。 每次均等概率选择三个有序位置进行操作。 在模意义下求m次操作内变成目标排列的概率。设状态首先可以扭转初始排列和目标排列,使得目标排列变成有序的(就是变成1,2,3……n) 我们知道可以用置换来表示一个排原创 2016-12-06 17:03:07 · 411 阅读 · 0 评论 -
最近公共祖先
题目描述YJC最近在学习树的有关知识。今天,他遇到了这么一个概念:最近公共祖先。对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。YJC很聪明,他很快就学会了如何求最近公共祖先。他现在想寻找最近公共祖先有什么性质,于是他提出了这样的一个问题:n层的满k叉树T,求对于每一对(i,j)(1≤i,j≤T的点数),LCA(T,i,j)的深度原创 2016-11-14 20:36:24 · 753 阅读 · 0 评论 -
[51nod1668]非010串
题目描述如果一个01字符串满足不存在010这样的子串,那么称它为非010串。 求长度为n的非010串的个数。(对1e9+7取模)DP写个DP式,然后矩阵乘法即可 因为比较懒现在懒得去推那个式子是啥了 看代码吧#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;原创 2016-10-29 18:37:40 · 824 阅读 · 0 评论 -
涂色游戏
题目大意n*m的网格图,有p种颜色可以涂,要求给网格图涂色使得任意相邻两列都满足以下条件:两列出现的颜色数至少为q。 求方案数DP设f(i,j)表示目前做了i列,最后一列有j种颜色。转移的话我们可以枚举新的一列有k种颜色,两列共有的颜色数为l,然后方案数为g[n][k]∗Clj∗Ck−lp−jg[n][k]*C_j^l*C_{p-j}^{k-l} 后面的组合数很好理解,在j种颜色选出l种颜色作为原创 2016-11-07 22:38:49 · 992 阅读 · 0 评论 -
[51nod 1537]分解
题目大意是否存在整数m使得(1+√2)n=√m+√(m−1)(1+√2)^n=√m+√(m-1)结论首先n=1存在解。 假设n=k时存在解,易证n=k+1也必然存在解。 于是设(1+√2)n=an+bn√2(1+√2)^n=an+bn√2 a与b可以用矩阵乘法快速算出,再分类讨论n的奇偶性得到m。#include<cstdio> #include<algorithm>#define fo(原创 2016-09-02 21:43:42 · 732 阅读 · 0 评论 -
[CC PARSIN]math
题目描述预备知识sin(a+b)=sin(a)∗cos(b)+cos(a)∗sin(b)sin(a+b)=sin(a)*cos(b)+cos(a)*sin(b) cos(a+b)=cos(a)∗cos(b)−sin(a)∗sin(b)cos(a+b)=cos(a)*cos(b)-sin(a)*sin(b) cos(2a)=cos2(a)−sin2(a)=2cos2(a)−1cos(2a)=cos原创 2016-08-16 11:33:50 · 758 阅读 · 4 评论 -
寺庙逃脱
题目描述Pty一觉醒来,发现自己竟然陷身于一个巨大的金字塔中。在漆黑一片的通道里,四周闪烁着诡异的绿色,像是许多怪物的眼。阴森的冷风阵阵吹来,像是苏醒的法老抚摸着你的背。Pty不禁打了个寒颤,他必须逃出这里!!经过一番摸索,pty终于找到了金字塔的出口,可是出口却已经被锁住了。拂下锁上的灰尘,pty依稀辨别出锁上的古埃及文字。上面竟然记录着一道智力题!题目经过翻译如下:有若干个递推序列,每个序列可以原创 2016-05-19 20:58:18 · 632 阅读 · 0 评论 -
暴走的图灵机
题目描述做法m代表T串的长度。 一个显然的做法是设g[i]表示i次操作后左手串所包含T串的个数。 则g[i]=g[i-2]+g[i-1]+c 其中c表示跨越中间线(即隔开i-2和i-1次操作后左手串的那条线)的所有串中T串的数量。 设f[i]表示i次操作后左手串的长度。 仔细观察发现,当f[i-2]和f[i-1]都不小于m后,c的循环节为2。 然后先暴力找到最早的id满足f[id]比2m原创 2016-04-11 14:03:44 · 581 阅读 · 0 评论 -
斐波那契
题目大意F[0]=0,F[1]=1,F[n]=F[n-1]+F[n-2]。 现在要求gcd(aF[n]+bF[n+1],cF[n]+dF[n+1])。 a,b,c,d<=1000,n<=1e18。做法我们可以先辗转相除。 即(a,b,c,d)=(c,d,a%c,b-(a/c)d)。 辗转到最后会把c变成0。 问题变成求gcd(aF[n]+bF[n+1],cF[...原创 2018-05-22 15:58:52 · 813 阅读 · 0 评论