线性DP--BOX

还没学,等学完再仔细写。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[1000010];
ll vis[1000010];
ll f[1000010][3];
int main()
{
    ll n,m;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        cin>>vis[i];
    }
    for(int i=1;i<=n;i++)
    {
        if(vis[i]==1)
        {
            f[i][0]=max(f[i-1][0]+a[i-1],f[i-1][1]);
            f[i][1]=max(f[i-1][0],f[i-1][1])+a[i];
            f[i][2]=max(f[i-1][0],max(f[i-1][1],f[i-1][2]))+a[i+1];
        }
        if(vis[i]==0)
        {
            f[i][0]=max(f[i-1][0],f[i-1][1]);
            f[i][1]=f[i-1][2];
            //f[i][2]=
        }
    }

    cout<<max(f[n][0],max(f[n][1],f[n][2]))<<endl;
    return 0;
}
相关推荐
山河木马5 分钟前
前端学C++可太简单了:双冒号 :: 操作符
前端·javascript·c++
满分观察网友z17 分钟前
从混乱到有序:我用“逐层扫描”法优雅搞定公司组织架构图(515. 在每个树行中找最大值)
后端·算法
满分观察网友z25 分钟前
一行代码的惊人魔力:从小白到大神,我用递归思想解决了TB级数据难题(3304. 找出第 K 个字符 I)
后端·算法
字节卷动33 分钟前
【牛客刷题】活动安排
java·算法·牛客
乌萨奇也要立志学C++1 小时前
【C++详解】STL-list模拟实现(深度剖析list迭代器,类模板未实例化取嵌套类型问题)
c++·list
yi.Ist1 小时前
数据结构 —— 键值对 map
数据结构·算法
s153351 小时前
数据结构-顺序表-猜数字
数据结构·算法·leetcode
闻缺陷则喜何志丹1 小时前
【前缀和 BFS 并集查找】P3127 [USACO15OPEN] Trapped in the Haybales G|省选-
数据结构·c++·前缀和·宽度优先·洛谷·并集查找
Coding小公仔1 小时前
LeetCode 8. 字符串转换整数 (atoi)
算法·leetcode·职场和发展
GEEK零零七1 小时前
Leetcode 393. UTF-8 编码验证
算法·leetcode·职场和发展·二进制运算