51nod 题目口胡(1)
1039 X^3 Mod P
令g为P的原根,不妨设 gt1≡X(modP),gt2≡A(modP) (求离散对数)
显然有3t1≡t2(modP−1)
求出离散对数t2之后, t1=t2/3 或 t1=(t2+(P−1))/3 或 t1=(t2+2∗(P−1))/3
除3必须是整除,所以答案可能有0个,1个或者3个。
单次时间复杂度O(P1/4logP+P1/2)
1144 打字的猴子
记dp[i]为打出前i个字符的期望时间,要打出前i+1个字符需要先打出前i个字符,而下一个字符打对的概率只有n1,而打错字符会使状态从i退回到i之前的某个状态,用kmp计算所有打错子符后会退到的状态,根据方程计算即可。
1146 斐波那契字符串
记g(n)为字符串S在f(n)中出现的次数,则g(n)=g(n−1)+g(n−2)+C(n),其中C(n)为S部分在f(n−1)另一部分在f(n−2)中出现的次数。注意到S的长度只有105,当f(m)长度超过S之后,符f(m+2)=f(m)+f(m−1)+f(m)前后缀都是固定的,只需要计算前几项g,之后快速幂。
1147 连分数
令ci=ai+ci+11,其中ci可以表示为zx+y,迭代计算找到循环节(循环节不长),矩阵快速幂。
Deja_vuuu 发布了7 篇原创文章 · 获赞 0 · 访问量 635 私信 关注