题解 | 斐波那契字符串

斐波那契字符串

https://www.nowcoder.com/practice/704ed5d1c4a34227a85e07ff80025351

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 100000 + 5;
const long long MOD = 1000000007;

long long oneCnt[MAXN], zeroCnt[MAXN], invCnt[MAXN];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T; cin >> T;
    vector<int> queries(T);
    int maxn = 0;
    for (int i = 0; i < T; i++) {
        cin >> queries[i];
        maxn = max(maxn, queries[i]);
    }

    // 初始化
    oneCnt[1] = 0; zeroCnt[1] = 1; invCnt[1] = 0;
    oneCnt[2] = 1; zeroCnt[2] = 0; invCnt[2] = 0;

    for (int i = 3; i <= maxn; i++) {
        oneCnt[i] = (oneCnt[i-2] + oneCnt[i-1]) % MOD;
        zeroCnt[i] = (zeroCnt[i-2] + zeroCnt[i-1]) % MOD;

        // 使用 % 避免溢出
        long long cross = (oneCnt[i-2] * zeroCnt[i-1]) % MOD;
        invCnt[i] = (invCnt[i-2] + invCnt[i-1] + cross) % MOD;
    }

    for (int i = 0; i < T; i++) {
        cout << invCnt[queries[i]] << "\n";
    }

    return 0;
}

全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
小鹏、大疆、米哈游、MinMax小鹏上午投的下午就约面,进度未免也太快了
蛇年行大运fff:哥们 盗贴有意思吗,我发xhs上的给你搬过来了😅😅😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务