最大m字段和 自写的板子^_^

Posted megadeth

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最大m字段和 自写的板子^_^相关的知识,希望对你有一定的参考价值。

#include<map>
#include<set>
#include<cmath>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<iomanip>
#include<sstream>
#include<iostream>
#include<algorithm>
#define INF 0x3f3f3f3f3f3f3f
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define ll __int64
#define int ll
//typedef  long long ll;
typedef unsigned long long ull;
const int MAXN=1e6+10;
const int MOD=1e9+7;
const double eps=1e-6;
using namespace std;
//-------------------------------------------//
int a[MAXN],pre_max[MAXN],temp[MAXN];
signed main()
{
    int n,m;
    while(scanf("%lld%lld",&m,&n)!=EOF)
    {
        int ans=-INF;
        for(int i=0;i<=m;++i)pre_max[i]=-INF,temp[i]=-INF;
        for(int i=1; i<=n; ++i)scanf("%lld",&a[i]);//cout<<"?";
        for(int i=1; i<=n; ++i)
        {
            int temp1=0;
            for(int j=1; j<=min(m,i); ++j)//temp[j]=dp[i-1][j]
            {
                temp[j]=max(temp[j],temp1)+a[i];
                temp1=pre_max[j];
                pre_max[j]=max(pre_max[j],temp[j]);
            }
            ans=max(temp[m],ans);
            //cout<<dp[1][i]<<endl;
        }
        cout<<ans<<endl;
    }
    return 0;
}

 

以上是关于最大m字段和 自写的板子^_^的主要内容,如果未能解决你的问题,请参考以下文章

《javaScript100例|03》自写javaScript+CSS轮显效果

自写原生jq滚轮插件

java不用任何已有方法完全自写的去重法

自写的开发框架,胜于官方的clientAPP的实战开发。(已开源)

最大流算法和理论的简单理解

最大流板子