https://codeforces.com/contest/1155/problem/D

题解:DP

1、最大连续区间和=当前i前缀和-min{0-i-1前缀和};

2、定义三个数组,分别为:

1、从没有加x;

2、已经x并且持续到当前i位置;

3、已经加x但是当前i位置不加x;

3、long long 是必要的;

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=300000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const ll INF = 0x3f3f3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
ll ans,cnt,flag,temp,sum[N];
ll a[N];
ll dp[3][N];
char str;
struct node{};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%I64d",&a[i]);}ll minl= 0;for(int i=1;i<=n;i++){sum[i]=sum[i-1]+a[i];dp[2][i]=max(max(dp[2][i-1]+a[i],dp[1][i-1]+a[i]),0ll);dp[1][i]=max(max(dp[0][i-1],dp[1][i-1])+a[i]*m,0ll);dp[0][i]=max(sum[i]-minl,0ll);ans=max(max(dp[0][i],ans),max(dp[1][i],dp[2][i]));minl=min(minl,sum[i]);}cout<<ans<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Beautiful Array相关推荐

  1. CF1158D. Beautiful Array

    CF1158D. Beautiful Array Solution 构造 对于所有点(xi,yi)(x_i,y_i)(xi​,yi​)选择yiy_iyi​最小的点作为起点,每次考虑下一步若是LLL,则 ...

  2. CodeForces-1155D Beautiful Array

    题目传送门:CodeForces-1155D Beautiful Array 题目大意: 数组的美值是此数组的某个连续子数组的最大总和(此子数组可能为空),现在存在一个有n个数的 数组,同时拥有一个数 ...

  3. CF1155D Beautiful Array 贪心,dp

    CF115DBeautiful Array 题目大意:给一个有n个元素的a数组,可以选择其中一个区间的所有数都乘上x,也可以不选,求最大子序列和. 如果没有前面的操作,就是只求最大子序列和,我们都知道 ...

  4. leetcode 932. Beautiful Array | 932. 漂亮数组(分治法)

    题目 https://leetcode.com/problems/beautiful-array/ 题解 没想出来,最后参考了[分治]通俗的官解分析 的思路. 推理过程 草稿 class Soluti ...

  5. leetcode 分治 beautiful array

    题目链接 typedef vector<int> vi; class Solution {public:vi beautifulArray(int n){if (n == 1)return ...

  6. A. Find The Array

    题目:https://codeforces.com/contest/1550/problem/A Let's call an array a consisting of n positive (gre ...

  7. AI基础:特征工程-文本特征处理

    0.导语 特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用. 在此之前,我已经写了以下几篇AI基础的快速入门,本篇文章讲解特征工程基础第三部 ...

  8. leetcode932.BeautifulArray

    N0.932. Beautiful Array 题意:给定一个排列,要求给出其满足对于任意一个数A[k], 使得i<k<j,2×A[k]!=A[i]+A[j].的一个排列 别人思路:这个问 ...

  9. 老男孩上海校区Python面试题

    python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...

最新文章

  1. exit()与_exit()的区别(转)
  2. KDD2021最佳论文奖揭晓!胡侠获新星奖,论文接收率仅15%
  3. 欢迎使用markdown编辑器20181206
  4. UML之交互图(协作图和顺序图)
  5. python之迭代锁与信号量
  6. 【转】linux之pmap命令!
  7. python 生成数组1:1:20_英特尔“演化算法”新框架:29个Python代码块,自动生成新算法...
  8. 如何撰写较受欢迎的技术文章
  9. 送书 | 推荐一个可能是最全的Venn图一站式绘制工具
  10. Spring MVC中的基本流程
  11. 怎么捡自己空投_绝地求生:如何用纸皮自制空投?只需2个道具即可完成,附带教程...
  12. python︱mysql数据库连接——pyodbc
  13. 机器学习面试- Scikit-learn
  14. [转载] hexo categories和tags页面不显示解决办法
  15. kiv8测量方法_理邦elite V8 病人监护仪
  16. 邮箱客户端 gmail支持_如何联系Gmail支持
  17. 波兰计算机专业大学排名,波兰留学大学排名
  18. 客户分级管理的意义和方法?如何高效的对客户进行分级?
  19. 计算机基本原理——CPU的结构与原理
  20. C++基本数据类型的字节数、范围大小、溢出处理

热门文章

  1. 微信摇一摇插件ios_微信开发平台 Jeewx-Boot
  2. 常见计算机英语,常见计算机英语词汇
  3. mysql手注_php+mysql手注拿shell教程【朋友给的】
  4. printwriter 要close吗_中国股市:市盈率低估,就意味着可以买入吗?不懂你就输了...
  5. python哲学内容 多行胜于单行_Python3基础 __doc__ 单行与多行函数文档
  6. 麦克纳姆轮运动原理_麦克纳姆轮介绍
  7. 九十三、动态规划系列之股票问题(下)
  8. 三十、Java 多线程编程(上篇)
  9. Tag recommendaion... 论文中的小例子,使用HOSVD算法推荐
  10. 超越ImageNet预训练,Meta AI提出SplitMask,小数据集也能自监督预训练