2017沈阳网络赛 number number number

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6198

题意:   斐波拉契数列f[0]=0、f[1]=1,f[n]=f[n-1]+f[n-2](n>=2),求不能用k个斐波拉契数之和表示的最小数。

flag:找规

***规律是:f[2*k+2]-1

推荐看 RBS <<根据递推公式构造系数矩阵用于快速幂>>

时间复杂度: O(log n)

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <math.h>
#include <vector>
#define llt long long
using namespace std;

const int Mod=998244353;

void quick_Power(llt a,llt &x1,llt &y1,llt &x2,llt &y2){
    if(a==0){
        x1=1;y1=0;
        x2=0;y2=1;
        return ;
    }
    if(a==1){
        x1=1;y1=1;
        x2=1;y2=0;
        return ;
    }

    llt _x1,_x2,_y1,_y2;
    quick_Power(a/2,_x1,_y1,_x2,_y2);

        x1=(_x1*_x1%Mod+_y1*_x2%Mod)%Mod;
        y1=(_x1*_y1%Mod+_y1*_y2%Mod)%Mod;
        x2=(_x2*_x1%Mod+_y2*_x2%Mod)%Mod;
        y2=(_x2*_y1%Mod+_y2*_y2%Mod)%Mod;

    if(a%2==0) return;

    _x1=x1;_x2=x2;_y1=y1;_y2=y2;
    x1=_x1+_y1;
    y1=_x1;
    x2=_x2+_y2;
    y2=_x2;
}
int main(){

    int k;
    while(~scanf("%d",&k)){
        llt x1,x2,y1,y2;
        quick_Power(2*k+2,x1,y1,x2,y2);
        printf("%lld\n",(x1-1+Mod)%Mod);
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在安装LabVIEW2017 C Generator之前,需要获取并输入该软件的序列号。您可以在NI网站上注册账户并获取其序列号,或者在购买该软件时获得序列号。一旦您获得该序列号,您就可以开始安装LabVIEW2017 C Generator。 在安装过程中,您需要执行一些操作,包括指定安装位置以及选择软件包。在安装过程中,您将被提示输入序列号,并根据提示输入序列号。如果输入的序列号无效,则必须联系NI技术支持以获得帮助。 一旦输入序列号,就可以继续进行安装过程。当安装完成时,您将可以使用LabVIEW2017 C Generator,将LabVIEW代码转换为可在C语言中使用的代码。如果您在使用中遇到任何问,请随时查阅NI官方文档或联系技术支持以获得帮助。 ### 回答2: LabVIEW 2017 C Generator是NI公司最新推出的一款软件产品,主要用于C++编程语言的开发。在进行安装时,需要输入Serial Number来完成注册。 如果您已经购买了LabVIEW 2017 C Generator,可以通过以下步骤获取Serial Number: 1. 登陆NI官网,进入自己的账户页面。 2. 在“我的产品”页面中,到LabVIEW 2017 C Generator,并点击“获取序列号”。 3. 输入相关信息,系统会自动生成Serial Number,并发送到您的电子邮箱中。 如果您还未购买LabVIEW 2017 C Generator,可以通过以下步骤进行购买和安装: 1. 登陆NI官网,进入“LabVIEW 2017 C Generator”页面。 2. 点击“立即购买”,选择适合自己的订阅方式。 3. 购买成功后,NI公司会将Serial Number发送到您的电子邮箱中。 4. 下载安装程序并完成安装,输入Serial Number进行注册即可使用。 在安装和注册过程中,如果遇到任何问或疑问,可以通过NI官网上的帮助文档或技术支持系统进行咨询和求助。 ### 回答3: 要安装LabVIEW 2017 C Generator,并获得序列号,您需要按照以下步骤操作: 1.转到NI公司的官方网站,并在搜索框中搜索“LabVIEW 2017 C Generator”。 2.单击相应页面上的“下载”按钮,下载“LabVIEW 2017 C Generator”。 3.在安装过程中,系统将要求您提供序列号。您可以在NI公司的官方网站购买序列号,然后在这个阶段输入。 4.按照安装程序的指示完成安装过程。 5.如果您已经获得过序列号,也可以在安装程序运行时输入。 请注意,只有持有有效序列号的用户才能获得LabVIEW 2017 C Generator的完整功能和优势。此外,在为序列号付费时,请确保自己从NI公司的官方网站购买,以避免被欺骗并保持安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值