100pts但没AC
  • 板块P1725 琪露诺
  • 楼主abc123_cn
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/6/27 11:55
  • 上次更新2025/6/27 21:06:33
查看原帖
100pts但没AC
1288371
abc123_cn楼主2025/6/27 11:55

萌新求助!TLE #3
有没有不用单调队列的动态规划解法

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

const int INF = 1e9;
int n, l, r, maxn = -INF, f[400005], a[400005]; bool vis[400005];

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    cin >> n >> l >> r;
    for (int i = 0; i <= n; i ++) cin >> a[i];
    for (int i = 1; i <= n + r; i ++)
    {
        f[i] = -INF;
        vis[i] = false;
    }
    f[0] = 0;
    vis[0] = true;
    for (int i = l; i <= n + r; i ++)
    {
        for (int j = max(i - r, 0); j <= i - l; j ++)
            if (vis[j]) 
                f[i] = max(f[i], f[j] + a[i]);
        if (f[i] != INF) vis[i] = true;
    }
    for (int i = n + 1; i <= n + r; i ++) maxn = max(maxn, f[i]);
    cout << maxn << endl;
    return 0;
}
2025/6/27 11:55
加载中...