数论-整数快速幂
炒饭君
这个作者很懒,什么都没留下…
展开
-
POJ 2154 Color(组合数学-波利亚计数,数论-欧拉函数,整数快速幂)
POJ 2154 Color(组合数学-波利亚计数,数论-欧拉函数,数论-整数快速幂) 题目大意: T组测试数据,每组一个n表示1个项链有n个颜色可以涂在n个钻石上,通过旋转相同的算一种方案,问你方案数是多少? 解题思路: 很裸的波利亚计数,转化为的公式就是 ans=sum{ n^( gcd(1,n)-1 ) ,n^( gcd(2,n)-1 ),n^( gcd(3,n)-1 ) .....n^( gcd(n,n)-1 ) },因为这个n比较大10^9,所以暴力超时。 因此枚举 gcd(原创 2014-08-01 10:19:20 · 1351 阅读 · 1 评论 -
POJ 1995 Raising Modulo Numbers (数论-整数快速幂)
题目大意: T组测试数据,求(A1B1+A2B2+ ... +AHBH)mod M. 解题思路: 对于普通暴力算法一定是 A1*A1*A1.....*A1 乘以 B1次, A2*A2...........*A2 乘以 B2次, ...................................... 然后全部相加起来,这样效率很低,肯定是超时了 那么有什么办法解决这一问题,可以用快速幂, 如果 A1^2有了,那么 A1^4就可以得到,A1^8也可以得到,...... ,立刻由n降到了lgn 可以原创 2014-06-18 21:51:07 · 639 阅读 · 0 评论 -
HDU 3240 Counting Binary Trees(组合数学-卡特兰数,数论-整数快速幂,数论-求逆元)
HDU 3240 Counting Binary Trees(组合数学-卡特兰数,数论-整数快速幂,数论-求逆元) 题目大意: 问你不超过n个节点的二叉树的方案数,结果要对m求余。 解题思路: 方案数可以划分左右两边划分子问题也就是 h(n)=h(0)*h(n-1)+h(1)*(h-2)+..................+h(n-1)*h(0),一看就是卡特兰数, 关于卡特兰数必须要nlg^n的左右效率的算法解决 百度一下,知道: 令h(0)=1,h(1)=1, catalan数满足: 递推式[1]原创 2014-08-25 14:52:07 · 1234 阅读 · 0 评论