zoukankan      html  css  js  c++  java
  • 长春理工大学第十四届程序设计竞赛(重现赛)F

    F. Successione di Fixoracci

    题目链接:https://ac.nowcoder.com/acm/contest/912/F

    题目:

    动态规划(Dynamic programming,简称dp)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。例如,假设小x一步能爬1层或2层台阶,求小x爬n层台阶共有几种方法,就可以用dp计算:设Fi代表小x爬i层台阶共有几种方法,则Fi=Fi−1+Fi−2。

    小x是练习时长两年半的acm练习生,喜欢口胡、dp、线段树。妙就妙在,不管是什么题目,无论多难,小x都能用他喜欢的三样东西AC。

    你可能不相信,但其实他口胡了一个定理:所有题目,都可以转化成在x数列上的操作。只要先dp出题目对应的x数列,再用线段树随便维护一下,就可以过了。以下给出x数列的定义:

    T0=a

    T1=b

    Tn=Tn−1⊕Tn−2(n≥2)

    其中⊕为异或运算。

    现在小x已经用dp求出了a和b的值。现在你只要求出Tn
    是多少,就可以通过这道题目。
    输入描述:

    输入三个正整数a,b,n,含义见题目描述。

    其中0≤a,b,n≤1018

    输出描述:

    输出一个整数Tn

    ,代表前两项为a,b的x数列在下标为n处的值。

    示例1
    输入
    1 2 2
    输出
    3

    思路

    101  110 ——>011——>101——>110——>011......

    会发现异或值出现了循环节3

    多画几个就出来了

    #include<bits/stdc++.h>
    using namespace std;
    typedef  long long ll;
    int main()
    {
     
        ll a,b,n;
        cin>>a>>b>>n;
        ll cc[10];
        cc[0]=a;
        cc[1]=b;
        cc[2]=a^b;
        cout<<cc[n%3]<<endl;
     
        return 0;
    }
  • 相关阅读:
    C# TransactionScope 使用
    .Net 4.5 的async 和await 的简单理解使用
    图片的等比缩放
    IIS 8 下使用 WCF
    SQL Server 中字符串中包含字符串变量的表示方法
    jsTree 的简单用法--异步加载和刷新数据
    webService 部署以后参数输入框不能显示
    js 节点属性
    js 数组排序
    js 时间格式化 -- 时间加减实现
  • 原文地址:https://www.cnblogs.com/Vampire6/p/10992434.html
Copyright © 2011-2022 走看看