洛谷 4393 序列问题
作者:互联网
[BOI2007] Sequence 序列问题
题面
题解
贪心
考虑一个区间中max的贡献,它在区间端点则最少贡献一次,否则最少两次。除去这个max,剩下的区间是子问题。
这给出了一个解的下界,也给出了达到下界的方案。
解的值等于相邻两数max之和。
代码
//https://www.luogu.com.cn/problem/P4393
//2021-07-10 AliCCC
#include <cstdio>
#include <algorithm>
using std::max;
const int MAXN=1000111;
int N;
int A[MAXN];
int main(){
scanf("%d", &N);
for(int i=1;i<=N;++i) scanf("%d", &A[i]);
long long Ans=0LL;
for(int i=1;i<N;++i){
Ans+=max(A[i], A[i+1]);
}
printf("%lld\n", Ans);
return 0;
}
标签:洛谷,int,max,4393,下界,区间,MAXN,序列,include 来源: https://www.cnblogs.com/Pickupwin/p/15371551.html