【贪心】Vijos P1615 旅行
来源:互联网 发布:北京大学医学网络教育 编辑:程序博客网 时间:2024/06/04 19:58
题目链接:
https://vijos.org/p/1615
题目大意:
N条路,路的高度给你,走一条路的耗费体力是从上一条路的高度到当前路高度的绝对值差。
可以改变一条路的高度,耗费的体力等于改变前后的路高度差。求最小耗费体力。
题目思路:
【贪心】
其实就是求拐点,一个人先下坡在上坡要耗费两次体力,不如直接把山谷改成和两边一样高的,这样答案更优。山顶同理。最后在计算一遍换完高度之后的高度差。
////by coolxxx//#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<string>#include<iomanip>#include<map>#include<memory.h>#include<time.h>#include<stdio.h>#include<stdlib.h>#include<string.h>//#include<stdbool.h>#include<math.h>#define min(a,b) ((a)<(b)?(a):(b))#define max(a,b) ((a)>(b)?(a):(b))#define abs(a) ((a)>0?(a):(-(a)))#define lowbit(a) (a&(-a))#define sqr(a) ((a)*(a))#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))#define mem(a,b) memset(a,b,sizeof(a))#define eps (1e-8)#define J 10#define mod 1000000007#define MAX 0x7f7f7f7f#define PI 3.14159265358979323#define N 104using namespace std;typedef long long LL;int cas,cass;int n,m,lll,ans;LL aans;double anss;LL a[N];int main(){#ifndef ONLINE_JUDGE//freopen("1.txt","r",stdin);//freopen("2.txt","w",stdout);#endifint i,j,k;int x,y;//for(scanf("%d",&cas);cas;cas--)//for(scanf("%d",&cas),cass=1;cass<=cas;cass++)//while(~scanf("%s",s+1))while(~scanf("%d",&n)){for(i=1;i<=n;i++)scanf("%lld",&a[i]);for(i=2;i<n;i++){if(a[i-1]<a[i] && a[i]>a[i+1])aans+=abs(a[i]-max(a[i-1],a[i+1])),a[i]=max(a[i-1],a[i+1]);else if(a[i-1]>a[i] && a[i]<a[i+1])aans+=abs(a[i]-min(a[i-1],a[i+1])),a[i]=min(a[i-1],a[i+1]);}for(i=2;i<=n;i++)aans+=abs(a[i]-a[i-1]);printf("%lld\n",aans);}return 0;}/*////*/
0 0
- 【贪心】Vijos P1615 旅行
- Vijos P1615 旅行
- VIJOS 1780 开车旅行
- VIJOS-P1091 环城旅行
- 【贪心】vijos P1745 巧克力
- |Vijos|贪心|P1444 区间
- 【vijos】【贪心】最小差距
- 旅行 (贪心+枚举)
- P1615 友好城市
- Vijos 1253 旅行家的预算
- VIJOS 1119 Car的旅行路线
- 旅行 纪中1281 vijos 1661
- Vijos P1844(积木大赛-贪心)
- Vijos 1409-纪念品分组【贪心】
- |Vijos|贪心|P1039 最小差距
- |Vijos|贪心|堆|P1079 中青局
- |Vijos|贪心|P1691 输油管道问题
- |Vijos|贪心|P1662 最大配对
- React Native商城项目实战06 - 设置安卓中的启动页
- 遗传学算法
- IOS缓存机制详解
- 《C++Primer》读书笔记——第10章 泛型算法
- js的工厂模式
- 【贪心】Vijos P1615 旅行
- 【模板】SPFA
- 线段树
- nyoj 1291 不是匹配
- NodeJs——文件I/O(一)
- CSS层叠样式表单
- 使用yum安装oracle的包
- 《Apache Kylin对基于相同字段值的多个维度cube建立的数据处理》
- 【文档】nginx-gridfs安装学习文档