矩阵快速幂
萌之上荡漾
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 14 E.Xor-sequences
题目链接分析:K很大,以我现有的极弱的知识储备,大概应该是快速幂了。。。怎么考虑这个快速幂呢,用到了dp的思想。定义dp[i][j]dp[i][j]表示从a[i]a[i]到a[j]a[j]的合法路径数。那么递推式就是dp[i][j]=∑k(dp[i][k]∗dp[k][j])dp[i][j] = \sum_k(dp[i][k] * dp[k][j])。每次进行这样一次计算,那么序列的长度就会增加一,原创 2016-09-08 21:22:26 · 258 阅读 · 0 评论 -
Codeforces Round #373 (Div. 2) E. Sasha and Array
题目链接分析:矩阵快速幂+线段树 斐波那契数列的计算是矩阵快速幂的模板题,这个也没什么很多好解释的,学了矩阵快速幂应该就知道的东西= =这道题比较巧妙的在于需要用线段树来维护矩阵,达到快速查询区间斐波那契数列和的目的。这道题极为卡常数,我TLE了不知道多少发,才在赛后过了这道题。我尝试下来,发现矩阵乘法的写法极为重要,我就是因为用了三层循环来写矩阵乘法导致了悲剧的TLE,一直卡在了第17组数据。我百原创 2016-09-27 20:30:20 · 251 阅读 · 0 评论 -
2017CCPC女生赛 hdu 6030 Happy Necklace
题目链接分析: 一道推公式的题目。看着这个范围就感觉是矩阵快速幂。 首先,可以把连续的素数中这个要求简化成连续两个和三个中的要求,很容易想。 定义:a[i],b[i]a[i],b[i]分别表示长度为i,以red和blue结尾的串的个数。 然后,探索一下,发现a[i]=a[i−1]+b[i−1],b[i]=a[i−2]a[i] = a[i-1] + b[i-1], b[i] = a[i - 2原创 2017-05-17 15:45:16 · 442 阅读 · 0 评论