![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
快速幂
TARsier_Gu
这个作者很懒,什么都没留下…
展开
-
【NOIP2016提高组模拟】单峰
Description Solution首先要有一个思路,就是作为峰的数值只能是N。有了这点就很好思考了,假设当前N的答案为ans,对于N+1,为了使加入N+1后的序列符合要求,那么N+1只能添加在N的左或右,那就意味着N+1的答案是N的答案的2倍,所以答案为2n−12^{n-1}。观察到数据范围,显然用快速幂。Codeconst mo=1000000007; var n,i,mi,ans原创 2016-09-03 09:41:31 · 433 阅读 · 0 评论 -
【NOIP提高组】数格子
DescriptionData ConstraintSolution以前做过一道经典题目和这题类似:铺砖块 很明显就是一道状压DP题目,把图形旋转成N*4的矩阵,复杂度显然就是O(N∗24)O(N*2^4),但是发现N很大,那么就要用矩阵乘法了。在普通状压中,我们会处理出一个24∗242^4*2^4的二维数组,该数组表示从i状态能否转移到j状态,能为1,不能为0,这个矩阵就是转移矩阵,然后快速幂解原创 2016-09-20 16:18:29 · 356 阅读 · 0 评论 -
【NOIP提高组】天使的分裂
DescriptionData ConstraintSolution看到数据范围显然就是矩阵乘法快速幂了,那么问题的关键就在于推出转移矩阵。设GiG_i表示∑Fi\sum F_i,利用Fi−1F_{i-1}与Fi−2F_{i-2}组合成FiF_i,容易推出Fi=Fi−1+Fi−2+fi−1+fi−2F_i=F_{i-1}+F_{i-2}+f_{i-1}+f_{i-2}。刚开始设出了一个四元数组[f0原创 2016-09-24 22:01:10 · 316 阅读 · 0 评论 -
【NOIP提高组】最近公共祖先
Description YJC最近在学习树的有关知识。今天,他遇到了这么一个概念:最近公共祖先。对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。YJC很聪明,他很快就学会了如何求最近公共祖先。他现在想寻找最近公共祖先有什么性质,于是他提出了这样的一个问题:n层的满k叉树T,求对于每一对(i,j)(1≤i,j≤T的点数),LCA原创 2016-11-12 22:20:08 · 404 阅读 · 0 评论 -
【GDOI2018模拟7.9】相逢是问候
DescriptionSolution首先需要了解欧拉定理的一个拓展:ax≡axmodϕ(P)+ϕ(P) (modP)a^x≡a^{x\,mod\,\phi(P)+\phi(P)}\ (mod\;P)(注:该公式只有在x≥ϕ(P)x≥\phi(P)时成立,证明戳这里) 有了这个定理我们就可以很好地解决这道题,首先可以发现,操作几次之后,指数会变得非常大,而套用公式可以降低指数。同时我们可以发现,每原创 2017-07-11 20:46:11 · 449 阅读 · 0 评论