首页 > 其他分享 >Codeforces Round #750 E

Codeforces Round #750 E

时间:2023-01-03 16:02:47浏览次数:58  
标签:750 int max Codeforces Round dp

E. Pchelyonok and Segments

题链
我们可以发现答案最多是sqrt(2n)个 也就是500个
考虑dp
dp[i][j]表示前i个 分成了j段 且第j段的max
转移就是
dp[i][j]=max{dp[i][j],s[i]-s[i-j]}[dp[i-j][j-1]>s[i]-s[i-j]]

int dp[100010][510];
void solve(){
    int n;cin>>n;
    vector<int>a(n);
    for(int i=0;i<n;i++)cin>>a[i];
    reverse(all(a));
    a.push_back(0);
    for(int i=n;i>=1;i--)a[i]=a[i-1];
    a[0]=0;
    vector<int>s(n+1);
    for(int i=1;i<=n;i++)s[i]=s[i-1]+a[i];
    //dp[i][j]表示前i个数分了j段且第j段的max
    int ans=0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=(int)sqrt(2*n);j++){
            dp[i][j]=dp[i-1][j];
            if(i>=j&&(s[i]-s[i-j]<dp[i-j][j-1]||j==1))
                dp[i][j]=max(dp[i][j],s[i]-s[i-j]);
            if(dp[i][j])ans=max(ans,j);
        }
    }
    cout<<ans<<endl;
}

标签:750,int,max,Codeforces,Round,dp
From: https://www.cnblogs.com/ycllz/p/17022495.html

相关文章

  • Educational Codeforces Round 139 vp记
    被Jerry__Jiang神爆杀的一天EducationalCodeforcesRound139vp记ProblemA简单题,随便枚举下即可Code#include<bits/stdc++.h>#defineintlonglong#define......
  • Educational Codeforces Round 118 E
    E.CrazyRobot题链很轻松能发现是bfs我们肯定是从L出发然后看他们该点可以去的地方是不是只有一条并且旁边挨着'+'但是打完一交发现wa332.#..L.发现我们会先......
  • Educational Codeforces Round 114 D
    D.TheStrongestBuildtilian发现n只有10啊m也是1e5我们考虑最好的状态肯定就是大家都选最大的时候但是如果被禁用掉了的话咋办呢我们肯定贪心的去减少一个最小的地......
  • Codeforces 1373 D. Maximum Sum on Even Positions 做题记录(单调队列)
    因为只能转一个子数组,很显然转长度为奇数的子数组,对最大化答案是没有意义的(偶数位的数字之和不会变化)。因此只考虑转偶长度的子数组。转动偶数长度的子数组,相当于......
  • Educational Codeforces Round 9
    EducationalCodeforcesRound9https://codeforces.com/contest/6323/6:ABCA.GrandmaLauraandApples模拟#include<bits/stdc++.h>#defineintlonglongusi......
  • Codeforces Good Bye 2022 CF 1770 F Koxia and Sequence 题解
    题目链接注意题目要求的是所有好序列的所有元素的XOR之和的XOR之和。我一开始以为是所有XOR之和的加法和导致不知道官方题解在讲什么。假设我们枚举一个位置\(1\lei\le......
  • Codeforces Round #781 (Div. 2)C
    CodeforcesRound#781(Div.2)CC我之前没有看懂题目,我现在把我认为正确的题意描述出来有一棵树,一开始都没有病毒什么的,但是我们需要把这一棵树里的所有节点变成有病......
  • Codeforces 1389 B. Array Walk 做题记录(DP)
    (纯种的DP还是做得有点苦痛,调了好久。太菜了。)大概就是第一层枚举返回几次,第二层遍历一遍$1~n$。#include<bits/stdc++.h>usingnamespacestd;constintm......
  • Codeforces Round #812 (Div. 2)
    题目链接A核心思路:其实我们需要挖掘出一个性质,那就是任何一个答案都必然是个长方形。所以我们只需要计算长方形的一个周长就好了。为什么有这样一个性质呢,因为我们发现任......
  • 半透明边框与background-clip
    一,半透明边框前言:已知,通过rgba与hsla颜色我们可以设置半透明的颜色,现在我们想实现一个半透明的边框,例子如下:border:10pxsolidhsla(0,0%,100%,.5);background:wh......