J Tokitsukaze and Sum of MxAb【2023牛客寒假算法基础集训营2】
J Tokitsukaze and Sum of MxAb
题意
- 给出长为n的序列,对于所有的i,j求max
之和
思路
- 对于两个负数
和 ,max ; - 对于两个正数
和 ,max ; - 对于一个正数
和一个负数 ,max ; - 综上,可以得出负数都变为了正数,且求max
之和的过程中每个数被计算了2n次,可以将问题转化为,将负数转化为正数后求2n个前缀和
代码
点击查看代码
#include<algorithm>
#include<iostream>
using namespace std;
#define prep(i,a,b) for(int i = (a); i <= (b); i ++)
#define rrep(i,a,b) for(int i = (a); i >= (b); i --)
typedef long long LL;
const char nl = '\n';
int T, n, m;
const int N = 1e5 + 10;
LL a[N]; //注意求和的数据范围
void solve() {
res = 0;
cin >> n;
prep(i,1,n){
cin >> a[i];
if(a[i] < 0)a[i] *= (-1);
a[i] += a[i - 1];
}
cout << 2*n*a[n] << nl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> T;
while (T--) {
solve();
}
return 0;
}
分类:
前缀和
标签:
2023牛客寒假算法基础集训营
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】