30pts求助!!!
查看原帖
30pts求助!!!
1303372
Michael_114楼主2024/8/22 11:58
#include <iostream>
#include <vector>
using namespace std;
unsigned long long solve(long long n) {
    if (n <= 1) return 1;
    vector<unsigned long long> dp(n + 1, 1);
    dp[0] = 0;
    for (unsigned long long i = 2; i <= n; ++i) {
        if ((i & 1) == 0) {
            dp[i] = dp[i >> 1];
        } else {
            unsigned long long pre = i - 1;
            unsigned long long nxt = i + 1;
            unsigned long long pre1 = dp[pre >> 1];
            unsigned long long nxt1 = dp[nxt >> 1];
            dp[i] = min(pre1, nxt1) + 1;
        }
    }
    return dp[n];
}
int main() {
    unsigned long long T;
    cin >> T;
    while (T--) {
        long long n;
        cin >> n;
        unsigned long long r = solve(n);
        cout << r << endl;
    }
    return 0;
}

Runtime Error. Received signal 6: Aborted / IOT trap. 请dalao指点,谢谢!

2024/8/22 11:58
加载中...