矩阵乘法
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
-
【NOI2012】随机数生成器
Description给你一个式子 Xn+1=(a∗Xn+c)modmX_{n+1}=(a*X_n+c) \mod m 求第n项Solution用什么发现n十分的大101810^{18},又只给1000ms,只能用O(logn)O(\log n)的方法 有什么可以做呢? 很明显是矩阵乘法!!!构造一个转移矩阵。先要弄初始矩阵。 先设初始矩阵有一位XnX_n,首先需要乘,并不用多开一位。要从原创 2016-03-10 18:41:09 · 1298 阅读 · 0 评论 -
【HNOI2016模拟4.4】Fenwit
DescriptionSolution虽然这题还有很多的方法,但是这类型的题目斗游戏一个通用的做法FWT(快速沃尔什变换),而且非常的短。 首先我们可以把式子转化成: Fi+1[jk]=∑k=02M−1Fi[k]∗B[Cnt(j)]F_{i+1}[j^k]=\sum_{k=0}^{2^M-1}F_{i}[k]*B[Cnt(j)] 根据异或的性质,这个很显然。 然后就用后面的两个数组做FWT,原创 2017-07-14 22:34:13 · 491 阅读 · 0 评论 -
【GDOI2017第三轮模拟day2】魔法咒语(AC自动机,矩阵乘法)
Description Solution这道题目的60分非常的简单,直接用ac自动机直接搞一搞就好了。 但是后面的40分怎么做? 我们发现后面的40分全部都是基本单词长度不会大于2,所以我们可以考虑一下怎么矩阵乘法。 假设我们的转移的矩阵有两个部分:[i-1,i] 那么我们要转移到[i,i+1] 当单词长度为1的时候,可以从i转移到i+1,i-1转移到i 当单词长度为2的识货,可以从i原创 2017-04-22 16:25:43 · 912 阅读 · 0 评论 -
NOIP2014八校联考第3场第1试10.4】反抗希碧拉系统续(regex)
Description虽然一科的反抗行动失败了,但那次行动已使反抗希碧拉系统的观念深入人心,而作为分析官的你也找到了系统的某处漏洞,机会依然存在,你要为下一次反抗做好准备。 直接使用电磁脉冲破坏系统在上次被证明是不可行的,现在只能试图渗透进系统寻找突破口。你现在可以从漏洞监听到中枢中每个单元大脑间的通信,并筛选出其中符合某规则的一些进行更深入的分析。规则可以描述为一个特殊的正则表达式,有如下递归定原创 2017-01-17 21:26:25 · 1081 阅读 · 0 评论 -
【NOIP2016提高A组集训第9场11.7】涂色游戏
DescriptionSolution一般求填色方案的题目都要用到动态规划。 看到数据范围有一个超级大的数,那么很显然就是矩阵乘法,往那个地方去想。 首先要填颜色: 所以设f[i][j]表示i个格子填上j个颜色的方案数,那么f[i][j]表示i个格子填上j个颜色的方案数,那么 f[i][j]=f[i−1][j−1]∗(p−(j−1))+f[i−1][j]∗jf[i][j]=f[i-1][j-原创 2016-11-07 21:07:49 · 959 阅读 · 2 评论 -
【51Nod算法马拉松18 B】非010串
Description如果一个01字符串满足不存在010这样的子串,那么称它为非010串。 求长度为n的非010串的个数。(对1e9+7取模)Solution最喜欢签到题了。 设f[i][j]f[i][j]表示到第i个点,末尾的状态是j(01,00,10,11四个状态),转移很显然。 然后在转成矩阵乘法就好了。Code#include<iostream>#include<cstdio>#i原创 2016-09-25 09:50:01 · 705 阅读 · 0 评论 -
【NOIP模拟】天使的分裂
DescriptionSolution这其实是很水的一道题。 你可以找规律,也可以推公式。 我们设前缀和为g[i],那么很明显g[i]=g[i-1]+F[i-1]。 那么现在很明显只要能递推F就好了。 我们看一下F,F[i]=F[i−1]+(F[i]−F[i−1])F[i]=F[i-1]+(F[i]-F[i-1])。 用f去代替后面的式子:∑ij=0fjfi−j−∑i−1j=0fjfi−j原创 2016-09-24 16:54:23 · 548 阅读 · 0 评论 -
【NOIP模拟】数格子
DescriptionSolution一道很经典的题目的简单版。 很显然是状压DP。 首先4*n可以变成n*4,然后状态数就只有16个了。(1表示有凸起,0表示没有凸起) 设f[i][j]表示第i层的状态数为j的时候的方案数。 一开始可以先预处理一个a[i][j]表示状态i是否能转移到状态j。 如果能转移到,那么要具备两个条件: 1、i&j==0,这个很明显,如果两个都填1,那么就说明会原创 2016-09-19 15:00:24 · 946 阅读 · 2 评论 -
【NOIP模拟】项链
Description经过一番周折,Bob找到了Alice,为了安慰Alice惊魂未定的心,Bob决定给Alice买一条手链,这条手链由M个珍珠组成,每个珍珠上刻着不同的小写字母。当Alice看到一些字母按照一定的顺序排列成的字符串时,就会产生一定的愉悦值。Bob现在可以在这M个珍珠上刻上字母,现在他想知道,如何刻字母可以使得Alice的愉悦值最大。SolutionAC自动机这是道很神奇的题目,我和原创 2016-07-18 10:51:29 · 1061 阅读 · 0 评论 -
【51Nod 1691】比大小
Description有两个数列A和B有两个数列A和B 已知A0,a,b,N已知A_0,a,b,N An=A(n−1)∗a+b(n>=1)A_n=A_(n-1)*a+b (n>=1) B数列满足B数列满足 Bn=2∗B(n/2)+1(n为偶数)B_n=2*B_(n/2) + 1 (n为偶数) Bn=2∗B((n−1)/2)+(n+1)/2(n为奇数)B_n=2*B_((n-1)/2) +原创 2016-07-06 10:34:45 · 741 阅读 · 0 评论 -
【GDOI模拟】暴走的图灵机
Description你有l和r两个字符串,初始l=”0”,r=”1”,每轮操作定义如下。 将r变成原来的l+原来的r,这里的+表示将两个字符串连接起来 将l变成原来的l 给定一个长度为m的匹配串s,问操作n次后,l中包含了多少个s作为子串,答案对p取模。 n≤109,m≤104,0<p≤109n≤10^9,m≤10^4,0<p≤10^9Solution首先这道题目就是一个斐波拉契形式的字符原创 2016-04-09 23:53:50 · 661 阅读 · 0 评论 -
【JZOJ5335】【NOIP2017提高组模拟】早苗(DP、矩阵乘法)
DescriptionSolution这题的DP其实很显然。 首先显然有一个状态是f[i][j]表示做到第i个,向前最多连续j个不同的方案数。 我们既然不能有m个不同的,那么我们只要不向m转移就好了。 转移也是比较的显然首先可以新加一个颜色f[i][j]–>f[i+1][j+1]*(m-j) 或者可以把前面的连续j个颜色断开f[i][j]–>f[i+1][1~j-1] 然后用矩阵乘法。Co原创 2017-08-24 20:06:07 · 809 阅读 · 0 评论