zoukankan      html  css  js  c++  java
  • uva11582 Colossal Fibonacci Numbers!

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=11&page=show_problem&problem=2629

    好久没写博客了,随便捡道有点意思的题目写写。

    首先a,b的范围都到unsigned long long了有木有,最后f(a^b)还要再mod上n

    那么看到n的范围才1000,f(x)的递推式又有了,很容易就想到周期这东西。

    那么对a^b用快速幂的话,nice~

    剩下来的就是水水的东西了。。。

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <cstdlib>
    #include <string>
    #include <algorithm>
    using namespace std;
    int f[10010],mod;
    int gao(){
        f[0]=0,f[1]=1%mod;
        for(int i=2;;i++){
            f[i]=(f[i-1]+f[i-2])%mod;
            if(f[i]==f[0]&&(f[i]+f[i-1])%mod==f[1]) return i;
        }
        return 1;
    }
    unsigned long long a,b;
    int pow(int x,unsigned long long n){
        if(n==0) return 1%mod;
        int ret=pow(x,n/2);
        ret=ret*ret%mod;
        if(n&1) return ret*x%mod;
        else return ret;
    }
    int t,n,T;
    int main(){
        scanf("%d",&t);
        while(t--){
            cin>>a>>b>>n;
            mod=n;
            T=gao();
            mod=T;
            int x=pow(a%mod,b);
            printf("%d
    ",f[x%T]);
        }
        return 0;
    }
    /*
    18446744073709551610 18446744073709551609 1000
    
    875
    */
    uva11582

    话说,无意中看见lrj大神也在切这题,瞬间吓尿。。。

  • 相关阅读:
    mysql面试知识点
    计算机网络
    BFS
    拓扑排序
    双指针
    回溯算法
    hash表 算法模板和相关题目
    桶排序及其应用
    滑动窗口
    贪心算法
  • 原文地址:https://www.cnblogs.com/wonderzy/p/3611644.html
Copyright © 2011-2022 走看看