zoukankan      html  css  js  c++  java
  • 洛谷 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
    ", Ans);
    	
    	return 0;
    }
    
  • 相关阅读:
    基本运算符
    格式化输出
    Python与用户的交互
    数据类型
    变量
    正则表达式
    vuex方法
    vue的webpack打包步骤
    浮动问题
    媒体查询技术
  • 原文地址:https://www.cnblogs.com/Pickupwin/p/15371551.html
Copyright © 2011-2022 走看看