线性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;
}
相关推荐
小灰灰搞电子7 分钟前
C++ boost::range 详解:基于最新版本的现代范围处理指南
开发语言·c++
王燕龙(大卫)18 分钟前
fastdds笔记
网络·c++·笔记
脱胎换骨-军哥42 分钟前
C++ 与 Go 生成质量比拼,谁是分布式主力语言
c++·分布式·golang
快乐星空Maker1 小时前
C++【生存游戏】开发:荒岛往事 第三期
开发语言·c++·游戏·编程语言
郝学胜-神的一滴1 小时前
Qt 高级编程 035:无边框窗口阴影以及圆角双特效实现
开发语言·c++·qt·程序人生·用户界面
AA陈超1 小时前
006 T03 — 蓝图操作指南
c++·游戏·架构·ue5·github·虚幻引擎
小保CPP1 小时前
OCR C++ Tesseract从OpenCV中获取图片
c++·人工智能·opencv·ocr·模式识别·光学字符识别
AI科技星1 小时前
光速螺旋时空曲率挠率拓扑统一场论——四大力全域闭环求导、精算验证与第一性原理完备证明
线性代数·算法·决策树·机器学习·常温超导·ai科技星
牧以南歌〆1 小时前
数据结构<三>单循环链表
c语言·数据结构·算法·链表
liuzhijie-06141 小时前
Codeforces 2245 D2 / E / F 题解
算法