0pts 求助 玄关

题目总版

当你的 $k=1$ 或 $k=2$ 时需要特判(
by FLAMEs_ @ 2023-12-18 19:04:15


而且你不能每次运算一遍,你可以把答案预处理下来然后 $O(1)$ 查询
by FLAMEs_ @ 2023-12-18 19:05:42


@[FLAMEs_](/user/363272) 然后就卡50pts了
by nothing_exe_studio @ 2023-12-18 19:11:26


```cpp #include <bits/stdc++.h> using namespace std; const int N=1e6+5,Mod=32767,lN=1e6; int n,k,a[N]; int main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0);cin>>n; a[1]=1;a[2]=2;for(int i=3;i<=lN;i++)a[i]=(a[i-1]*2+a[i-2])%Mod; while(n--){ cin>>k; cout<<a[k]<<'\n'; } return 0; } ```
by FLAMEs_ @ 2023-12-18 19:14:20


《1 ≤ k < 1000000》 你让我预处理
by nothing_exe_studio @ 2023-12-18 19:14:47


```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; while (n--) { int k; cin >> k; long long a = 1, b = 2, c; for (int i = 3; i <= k; i++) { c = (2 * b + a) % 32767; a = b; b = c; } cout << c << endl; } } ```
by 2011Andy @ 2023-12-18 19:15:22


啊?有什么不对吗
by FLAMEs_ @ 2023-12-18 19:16:13


谢两位大佬
by nothing_exe_studio @ 2023-12-18 19:17:26


|