
矩阵优化
Chester_King
虽千万人,吾往矣。
展开
-
【POJ】3070 Fibonacci 递推+矩阵优化
题目传送门 这题其实就是斐波那契数列,但是考虑到n的范围非常大,n=1e9,我们不能直接O(n)的递推。 其实题目已经给出了解法了,就是用矩阵快速幂来实现递推,把时间复杂度降到(2^3*log2(n))。 这题可以入门矩阵快速幂,为以后的矩阵快速幂加速DP做准备。 然后这题就喜闻乐见的A掉啦。 附上AC代码: #include #include using namespace st原创 2017-10-08 21:33:48 · 243 阅读 · 0 评论 -
【BZOJ】1009 [HNOI2008]GT考试 KMP+DP+矩阵优化
题目传送门 又是一道神题,感觉这题的思想好强啊。 首先考虑DP,定义f[i][j]表示当前我们DP到准考证的第i位,后缀与不吉利的数字匹配了j位的方案数。 状态转移方程为f[i][j]+=f[i-1][k],可以通过枚举第i位的数字,求出k的大小,进行状态的转移。 突然发现求k的过程和KMP的失配过程差不多,于是我们可以用KMP来转移状态。 但是这个DP显然是不符合我们的要求的,时间复杂度巨大。 考虑重构DP,定义f[i][j]表示当前我们DP到不吉利数字的前i位(注意,这里和上面不一样),在第i位后放置一原创 2017-10-09 17:53:35 · 233 阅读 · 0 评论 -
【BZOJ】1875 [SDOI2009]HH去散步 DP+矩阵优化
题目传送门这题好像在暑假集训的时候讲过诶……当时并没有认真听课的我表示只能自己再去学一发了……题目大意:给出点数n、边数m、步数t、起点st和终点ed,还有m条双向边,限制条件是不能从刚走过来的边马上走回去,求从st走t步到ed的方案数。我们考虑矩阵的乘法,核心代码如下:for (int i=0; i<=n; ++i) for (int j=0; j<=n; ++j) for原创 2017-10-11 21:32:12 · 256 阅读 · 0 评论