当前位置: 首页 > news >正文

2023年税收最新政策天津百度优化

2023年税收最新政策,天津百度优化,做网站多少钱赚钱吗,搜索引擎优化核心Please No More Sigma 给f(n)定义如下&#xff1a; f(n)1 n1,2; f(n)f(n-1)f(n-2) n>2; 给定n&#xff0c;求下式模1e97后的值 Input 第一行一个数字T&#xff0c;表示样例数 以下有T行&#xff0c;每行一个数&#xff0c;表示n。 保证T<100&#xff0c;n<100000…

Please No More Sigma

给f(n)定义如下:

f(n)=1 n=1,2;

f(n)=f(n-1)+f(n-2) n>2;

给定n,求下式模1e9+7后的值

Input

第一行一个数字T,表示样例数
以下有T行,每行一个数,表示n。
保证T<=100,n<=100000000

Output

输出式子的值。由于直接求值会很大,输出模1e9+7后的结果。

Sample Input

2
1
2

Sample Output

1
4

思路:

写出前几项的形式;

设g(n)为i=n时的和,s(n)为f(n)前n项和,h(n)为i=1到i=n的总和。

可以找到规律:

g(n)=g(n-1)+s(n);

h(n)=h(n-1)+g(n);

然后构造矩阵:

代码: 

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<unordered_map>
#include<map>
using namespace std;
typedef long long LL;
typedef unsigned long long ull;
#define per(i,a,b) for(int i=a;i<=b;i++)
#define ber(i,a,b) for(int i=a;i>=b;i--)
const int N = 1e5;
const long long mod = 1e9 + 7;
const double eps = 1e-2;
typedef struct data
{
    LL m[5][5];

}J;
J Q, E;
J now, ans;
LL f[5];
void into()
{
    Q = { 0,1,0,0,0,
          1,1,0,0,0,
          0,1,1,0,0,
          0,0,1,1,0,
          0,0,0,1,1,};
    E = { 1,0,0,0,0,
          0,1,0,0,0,
          0,0,1,0,0,
          0,0,0,1,0,
          0,0,0,0,1};
}
J quickfu(J a, J b)
{
    J c;
    for (int i = 0; i <= 4; i++)
        for (int j = 0; j <= 4; j++)
        {
            c.m[i][j] = 0;
            for (int k = 0; k <= 4; k++)
                c.m[i][j] = (c.m[i][j] + a.m[i][k] * b.m[k][j] % mod) % mod;
            c.m[i][j] = (c.m[i][j] % mod + mod) % mod;
        }
    return c;
}
J quick(J a, LL b)
{
    J ans = E;
    while (b)
    {
        if (b & 1)
            ans = quickfu(ans, a);
        b >>= 1;
        a = quickfu(a, a);
    }
    return ans;
}
LL n;
int main()
{
    int T;
    cin >> T;
    into();
    while (T--)
    {
        cin >> n;
        if (n == 0)
        {
            cout << 0 << endl;
            continue;
        }
        else if (n == 1)
        {
            cout << 1 << endl;
            continue;
        }
        f[0] = 1, f[1] =2 , f[2] = 2, f[3] = 1,f[4]=0;
        now = Q;
        ans = quick(now, n);
        LL an = 0;
        for (int i = 0; i <= 4; i++)
            an = (an + ans.m[4][i] * f[i] % mod) % mod;
        cout << (an % mod + mod) % mod << endl;
    }

    return 0;
}

http://www.mnyf.cn/news/15874.html

相关文章:

  • 便宜的做网站公司seo上海网站推广
  • 网站开发结构图巨量算数数据分析入口
  • 网站seo关键字怎么快速刷排名
  • 群晖 网站建设正规电商培训班
  • 可以访问任何网站的浏览器网站制作的步骤
  • 做设计的地图网站seo深圳优化
  • 网站建设的原因百度搜索平台
  • 公司网站建设手续推广手段和渠道有哪些
  • 曲靖做网站有品质的网站推广公司
  • 网站建设计划建议想在百度做推广怎么做
  • 做网站要营业执照吗百度搜索下载app
  • 宝安做网站哪家好公司网站的推广
  • 做网站设计都需要什么中国世界排名
  • 网上做论文的网站有哪些内容chrome浏览器下载安卓手机
  • 织梦网站关闭手机版关键词收录
  • 24小时客服在线电话个人seo怎么赚钱
  • ps切图做网站seo建站系统
  • 手机怎么自己做网站google seo怎么做
  • 做设计接单的网站网络营销方式有哪几种
  • 做网站资源推荐高质量关键词搜索排名
  • 免费网站代码百度快照提交入口
  • 做自己的网站挣钱产品推广ppt范例
  • 建设银行网站设计的优点搜索引擎优化方法有哪几种
  • 国内十大网站建设品牌软文发布网站
  • 在哪里做公司网站小程序开发教程全集免费
  • 手机上怎么做网站创业新网站如何推广
  • 做一个企业网站的费用搜索app下载
  • 做一个简单网站搜索最多的关键词的排名
  • 晋城住房保障和城乡建设管网站大数据营销案例分析
  • wordpress momoseo比较好的优化方法