CF33C Wonderful Randomized Sum

我们可以发现,如果两区间不交叉也不会影响到结果,所以我们只需要考虑不交叉的情况即可。

我们所选择的前缀\(1\sim i\)应满足区间和最小,后缀也一样。所以用两个数组\(lr,rl\)分别记录下\(1\sim i\)(前缀)最小和、\(i\sim n\)(后缀)最小和。然后枚举分割点\(i\),把前缀和后缀的和取一个最小值。答案即为\(sum-2*min(lr[i],rl[i+1])\quad(1\leq i \leq n)\)(\(sum\)是所有元素的和)。

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[100010],lr[100010],rl[100010],sum;
signed main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i];
for(int i=1,cur=0;i<=n;i++) cur+=a[i],lr[i]=min(lr[i-1],cur);
for(int i=n,cur=0;i>=1;i--) cur+=a[i],rl[i]=min(rl[i+1],cur);
int minn=LLONG_MAX;
for(int i=1;i<=n;i++) minn=min(minn,lr[i]+rl[i+1]);
cout<<sum-2*minn;
return 0;
}

[题解]CF33C Wonderful Randomized Sum的更多相关文章

  1. CF33C Wonderful Randomized Sum 题解

    原题链接 简要题意: 你可以无限次的把该数组的一个前缀和后缀 \(\times -1\),问最终的最大序列和. 这题盲目WA了数次才知道本质 这题89个数据吊打std CF真好啊,发现一个错后面就不测 ...

  2. 【极值问题】【CF33C】 Wonderful Randomized Sum

    传送门 Description 给你一个数列\(A\),你可以选择任意一个前缀和任意一个后缀,前缀后缀可重合.给他们乘\(-1\).求最大能获得的序列和. Input 第一行是一个数\(n\)代表数列 ...

  3. PAT甲题题解-1007. Maximum Subsequence Sum (25)-求最大子区间和

    题意:给出n个数,求最大连续的子区间和,并且输出该区间的第一个和最后一个数. 如果所有数都小于0,那么则输出0,第一个数和最后一个数. 看数据k的范围,就知道肯定不能两层for循环来求区间和,O(n^ ...

  4. 『题解』Codeforces121A Lucky Sum

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description Petya loves lucky numbers. Everybody k ...

  5. 题解:UVA10791 Minimum Sum LCM

    原题 题目大意 输入整数\(n(1\le n<2^{31})\) ,求至少两个正整数,是它们的最小公倍数为$ n$,且这些整数的和最小.输出最小的和. 有多组测试输入,以\(0\)结束. 题解 ...

  6. 洛谷 题解 CF910C 【Minimum Sum】

    当时看到这题一脸懵逼,莫名想到了复杂度为O(10000000000*n)的算法,然而肯定会超时(废话) 算法楼上楼下都说的很清楚了 很明显这题是要用每个字母的权值进行排序.然后依次进行赋值. \(\c ...

  7. 题解 SP8284 WEIGHT - Weighted Sum

    SP8284 WEIGHT - Weighted Sum 题意描述 给出长度为n(n<=1e6)的序列A, A中元素可能为正数,可为负数或0,.让你构造一个长度为n的序列W,给这些整数A赋权,使 ...

  8. LeetCode题解之 Continuous Subarray Sum

    1.题目描述 2.循环计算即可 3.代码 bool checkSubarraySum(vector<int>& nums, int k) { ){ return false ; } ...

  9. LeetCode 题解之Minimum Index Sum of Two Lists

    1.题目描述 2.问题分析 直接是用hash table 解决问题 3.代码 vector<string> findRestaurant(vector<string>& ...

  10. codeforces每日一题1-10

    目录: 1.1093D. Beautiful Graph(DFS染色) 2.514C - Watto and Mechanism(Tire) 3.69E.Subsegments(STL) 4.25C. ...

随机推荐

  1. DeepSeek-v2

    Deepseek系列博客目录 Model 核心 Date DeepSeekLLM 探究LLM Scalling Law 2024.01 DeepSeekMath 提出GRPO 2024.04 Deep ...

  2. 使用hive数据查询小结

    业务背景: 公司大数据查询需要通过hive查询和分析一些数据 产品提出业务分析需求: 我的处理方式: 接到需求就想怎么写SQL语句,然后不断调整SQL语句进行验证,最后这个需求写了170行的SQL语句 ...

  3. 私域流量优化:如何利用 AIPL 模型洞察客户生命周期价值

    在当今这个数字化时代,商业战场的硝烟从未如此浓烈.随着互联网红利的逐渐消退,公域流量的成本水涨船高,企业间对于有限用户资源的争夺已进入白热化阶段.每一次点击.每一个曝光背后,都是企业不得不承担的高昂代 ...

  4. dij费用流/Johnson Reweighting

    dij费用流/Johnson Reweighting 我们一般敲的费用流都是套\(SPFA\)的\(dinic\),这是因为会有负边权,\(dij\)做不了,考虑能不能动点手脚使得我们的边权变成正的 ...

  5. 以数据驱动PCB制造革新:盘古信息引领行业领军企业数字化范式跃迁

    智能车间内,机械臂正以高精度程序设定完成钻孔作业:每台设备上方的电子看板实时跳动生产数据--订单交付周期.工艺参数偏差值.设备OEE效率指标清晰可见:物料配送AGV小车穿梭于货架间,通过RFID标签自 ...

  6. Python学习:PocketFlow中的RAG例子

    运行效果 例子地址:https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag 什么是RAG(用PocketF ...

  7. 另辟蹊径:利用代理驱动绕过JDBC Attack检测

    0x01起因 以前徐师傅刚公开H2 JDBC RCE的时候我就用来打致远,打了大概两年然后修了最开始是直接用反斜线就可以绕过,后面添加了下面的判断. 新增了一个com.seeyon.ctp.giant ...

  8. 如何在FastAPI中巧妙玩转数据脱敏,让敏感信息安全无忧?

    扫描二维码 关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ 一.Pydantic模型敏感字段 ...

  9. 用部署的方法安装Project 2016

    公司有Project 2016和Microsoft 365,但这两个不能同时安装,因为安装方式不同(前者MSI,后者即点即用),网上查了资料,发现可以使用部署的方法安装Project 2016,就能成 ...

  10. 2021牛客寒假算法基础集训营1 ABFI 题解

    A 题意:问你含有us子序列的,长度不大于n的串有多少(都是小写字母) 思路:其实每个位置可填放的字符就三种, u,s,和其他24个字符. 由于要求含有us子序列的串比较麻烦,正难则反,我们可以先求出 ...