链接:http://acm.hdu.edu.cn/showproblem.php?pid=5805

题意:删除数列中一个数,找出相邻之差绝对值最大,求依次删除最大值的和

解法:删除边缘位置的数字需要注意 它们的差就是 a[i-1]-a[i-2] ,a[i+2]-a[i+1],a[i-1]-a[i+1]的绝对值,当然,把最大的加起来就行

  1. #include<stdio.h>
  2. //#include<bits/stdc++.h>
  3. #include<string.h>
  4. #include<iostream>
  5. #include<math.h>
  6. #include<sstream>
  7. #include<set>
  8. #include<queue>
  9. #include<map>
  10. #include<vector>
  11. #include<algorithm>
  12. #include<limits.h>
  13. #define inf 0x3fffffff
  14. #define INF 0x3f3f3f3f
  15. #define lson l,m,rt<<1
  16. #define rson m+1,r,rt<<1|1
  17. #define LL long long
  18. #define ULL unsigned long long
  19. using namespace std;
  20. long long n,m;
  21. long long a[100005];
  22. long long q,p;
  23. long long b[100005],e[100005],c[100005];
  24. long long sum=0;
  25. int t;
  26. long long MAXN1,MAXN2;
  27. int main()
  28. {
  29. scanf("%d",&t);
  30. while(t--)
  31. {
  32. sum=0;
  33. memset(b,0,sizeof(b));
  34. memset(c,0,sizeof(c));
  35. memset(e,0,sizeof(e));
  36. scanf("%d",&n);
  37. for(int i=1; i<=n; i++)
  38. {
  39. scanf("%d",&a[i]);
  40. }
  41. MAXN1=0;
  42. MAXN2=0;
  43. for(int i=3; i<=n; i++)
  44. {
  45. MAXN1=max(MAXN1,abs(a[i-2]-a[i-1]));
  46. c[i]=MAXN1;
  47. }
  48. for(int i=n-2; i>=1; i--)
  49. {
  50. MAXN2=max(MAXN2,abs(a[i+2]-a[i+1]));
  51. b[i]=MAXN2;
  52. }
  53. for(int i=2; i<=n-1; i++)
  54. {
  55. e[i]=abs(a[i-1]-a[i+1]);
  56. }
  57. for(int i=2; i<=n-1; i++)
  58. {
  59. sum+=max(e[i],max(c[i],b[i]));
  60. }
  61. sum+=(b[1]+c[n]);
  62. printf("%lld\n",sum);
  63. }
  64. return 0;
  65. }

  

BestCoder Round #86 1002的更多相关文章

  1. HDU 5805 NanoApe Loves Sequence (思维题) BestCoder Round #86 1002

    题目:传送门. 题意:题目说的是求期望,其实翻译过来意思就是:一个长度为 n 的数列(n>=3),按顺序删除其中每一个数,每次删除都是建立在最原始数列的基础上进行的,算出每次操作后得到的新数列的 ...

  2. 暴力+降复杂度 BestCoder Round #39 1002 Mutiple

    题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...

  3. 矩阵快速幂---BestCoder Round#8 1002

    当要求递推数列的第n项且n很大时,怎么快速求得第n项呢?可以用矩阵快速幂来加速计算.我们可以用矩阵来表示数列递推公式比如fibonacci数列 可以表示为 [f(n)   f(n-1)] = [f(n ...

  4. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II

    题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...

  5. Manacher BestCoder Round #49 ($) 1002 Three Palindromes

    题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...

  6. 二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil

    题目传送门 /* 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 每一次二分图匹配时,将点多的集合加大最后第一个集合去 注意:n <= 1,no,两 ...

  7. [HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP)

    [HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP) 题面 有三个人从一张N个点无重边的有向无环图上的三个点出发,每单位时间,他们分别选择当前 ...

  8. hdu 5195 DZY Loves Topological Sorting BestCoder Round #35 1002 [ 拓扑排序 + 优先队列 || 线段树 ]

    传送门 DZY Loves Topological Sorting Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131 ...

  9. BestCoder Round #56 1002 Clarke and problem 1003 Clarke and puzzle (dp,二维bit或线段树)

    今天第二次做BC,不习惯hdu的oj,CE过2次... 1002 Clarke and problem 和Codeforces Round #319 (Div. 2) B Modulo Sum思路差不 ...

随机推荐

  1. nginx uwsgi wsgi django 这些东西究竟是什么关系

    有太多的文章告诉我们nginx uwsgi django 这些东西怎么用了,太多的人知道这些东西的怎么使用,怎么配置,怎么优化,但是还是有一部分人比如我这种水货不知道这些东西到底是啥,为啥一个项目的发 ...

  2. 系列文章--AJAX技术系列总结

    各种AJAX方法的使用比较 用ASP.NET写个SQLSERVER的小工具  写自己的ASP.NET MVC框架(下)  写自己的ASP.NET MVC框架(上)  用Asp.net写自己的服务框架  ...

  3. 向vivi中加入命令

    在vivi的lib/command.c中添加自己的命令 核心数据结构user_command. typedef struct user_command { const char *name;      ...

  4. 洛谷 1351 联合权值——树形dp

    题目:https://www.luogu.org/problemnew/show/P1351 对拍了一下,才发现自己漏掉了那种拐弯的情况. #include<iostream> #incl ...

  5. java代码throws异常

    总结:抛出异常 package com.ds; //异常捕获 public class fdsg { private static void throwException() { try { Stri ...

  6. LaTeX技巧203:如何实现等号对齐_LaTeX_Fun_新浪博客

    LaTeX技巧203:如何实现等号对齐_LaTeX_Fun_新浪博客 我们在进行公式的输入排版的时候,通常希望公式比较齐整,所以需要一些等号对齐,或者左对齐,关于公式的左对齐前文已经介绍了方法.htt ...

  7. BluetoothFindNextRadio 函数

    BOOL BluetoothFindNextRadio( HBLUETOOTH_RADIO_FIND hFind, HANDLE* phRadio ); BluetoothFindNextRadio找 ...

  8. Neural Networks and Deep Learning 笔记

    1 Introduction to Deep Learning 介绍了神经网络的定义,有监督学习,分析了为什么深度学习会崛起 1.1 结构化数据/非结构化数据 结构化数据:有一个确切的数据库,有key ...

  9. [trie]字典树模板

    #include<bits/stdc++.h> using namespace std; typedef long long ll; struct trie{ int count; tri ...

  10. hibernate框架内容整理 学习

    1.1 ORM概述 Object Relation Mapping 对象关系映射. 对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产 ...