zoukankan      html  css  js  c++  java
  • BZOJ5300 [Cqoi2018]九连环 【数学】【FFT】

    题目分析:

      这道题是数学必修五的原题,做法如下图,书上讲得很详细了。

      

    那么这道题目用快速幂就可以解决了,值得注意的是,分析时间复杂度会发现直接做乘法其实是O(n^2)的,但是有一个1/20左右的常数,可能可以卡进去。为了追求稳定,考虑采用FFT优化。

    emm,,,FFT做这种题是大材小用吧,用python写吧,理由是python的乘法是用fft实现的。

    代码:

    t=input()
    count=0
    while(count<t):
        try:
           a=input()
           x=2**(a+1)
           if a % 2 == 0:
                   x=x-2;
                   x=x//3;
           else:
                   x=x-1;
                   x=x//3;
           print x
        except:
            break
  • 相关阅读:
    GDUFE ACM-1050
    hdu-2020
    hdu-2055
    hdu-2734
    GDUFE ACM-1145
    GDUFE ACM-1127
    GDUFE ACM-1126
    GDUFE ACM-1125
    GDUFE ACM-1124
    GDUFE ACM-1123
  • 原文地址:https://www.cnblogs.com/Menhera/p/8946391.html
Copyright © 2011-2022 走看看