随笔分类 -  矩阵快速幂

摘要:两个矩阵快速幂优化的好题 Fibonotci 对于这种转移有循环的函数,因为每一次对初始元素的操作是相同的,那么就可以抽象成在这个循环的前端输入了一个元素,然后经过一番操作,得到了新的元素,然后先考虑没有修改的做法,因为每n个的转移是一样的,那么对于n步内的每一个转移构造一个2*2的矩阵,然后把这些 阅读全文
posted @ 2018-01-31 11:54 Nawox 阅读(321) 评论(0) 推荐(0)
摘要:了了已久的心结 f[i][j]表示到第i为,长度为j的后缀与不吉利数字的前缀相同,其实这个和一些期望概率的DP类似,利用a数组记录当前j在加上不同的数字之后,可以分别转移至那些状态,用KMP处理一下,然后矩阵快速幂就行了 Code 1 #include <cmath> 2 #include <cst 阅读全文
posted @ 2017-10-16 16:51 Nawox 阅读(181) 评论(0) 推荐(0)
摘要:Password 题目描述 Rivest是密码学专家。近日他正在研究一种数列E = {E[1],E[2],……,E[n]}, 且E[1] = E[2] = p(p为一个质数),E[i] = E[i-2]*E[i-1] (若2<i<=n)。 例如{2,2,4,8,32,256,8192,……}就是p 阅读全文
posted @ 2017-07-31 21:20 Nawox 阅读(405) 评论(0) 推荐(0)
摘要:问题 D: 弱题 题目描述 有M个球,一开始每个球均有一个初始标号,标号范围为1~N且为整数,标号为i的球有ai个,并保证Σai = M。 每次操作等概率取出一个球(即取出每个球的概率均为1/M),若这个球标号为k(k < N),则将它重新标号为k + 1;若这个球标号为N,则将其重标号为1。(取出 阅读全文
posted @ 2017-07-29 21:42 Nawox 阅读(256) 评论(0) 推荐(0)
摘要:这道题可以根据组合数的实际意义来理解,就是从n*k个物品中选择除k余r个物品的方案数,那么就可以得到用f[i][j]表示在前i个物品中,选择j个物品的方案数,其中j是对k取模后的结果,那么f[i][j]=f[i-1][j](在第i为不取)+f[i-1][(j-1+k)%k](在第i为取),可以发现, 阅读全文
posted @ 2017-07-26 21:17 Nawox 阅读(650) 评论(0) 推荐(0)