长春理工大学第十四届程序设计竞赛F Successione di Fixoracci——找规律&&水题
Posted lfri
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了长春理工大学第十四届程序设计竞赛F Successione di Fixoracci——找规律&&水题相关的知识,希望对你有一定的参考价值。
题目
题意:给出x数列的定义:
- $T_0 = a$
- $T_1 = b$
- $T_n = T_n-2 \bigoplus T_n-1 $
求第 $n$ 项( $0 \leqslant a,b,c \leqslant 10^18 $)
分析
$n$ 这么大,肯定是常数时间复杂度。
打表找规律,能发现循环节为3。
或者直接推导,$a \bigoplus b = c, \ b \bigoplus c = a, \ c \bigoplus a = b$
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a, b, n; int main() scanf("%lld%lld%lld", &a, &b, &n); ll c = a ^ b; ll ans; if(n % 3 == 0) ans = a; else if(n % 3 == 1) ans = b; else ans = c; printf("%lld\n", ans); return 0;
以上是关于长春理工大学第十四届程序设计竞赛F Successione di Fixoracci——找规律&&水题的主要内容,如果未能解决你的问题,请参考以下文章
长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone