Skip to content

判断是否为质数

c
bool Prime(int x) //判断x是否是质数
{
    for (int i = 2; i <= sqrt(x); i++)
    {
        if (x % i == 0)
            return false;
    }
    return true;
}

动态规划

动态规划入门

给定一串数组,相邻的两个数组无法同时选择,如何选取才能使和最大

c
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    vector<int> nums = { 2,2,2,10,2,2,5 };

    int n = nums.size();
    vector<int> dp(n + 1, 0);
    dp[1] = nums[0];

    for (int i = 2; i <= n; i++) {
        dp[i] = max(dp[i - 2] + nums[i - 1], dp[i - 1]);
    }

    cout << "最大的合为:" << dp[n] << endl;

    return 0;
}

知识点

int的范围约是10e9,一般总运算次数在1e8级别每秒,大概在循环或递归十的九次方次左右就会超时。

假设卡常技巧为零。

那么你1.25 x 10^8就差不多了

img

Released under the MIT License.