(~ ̄▽ ̄)~*

找规律

//初始化为B[i]=A[i]
//然后由V=|A[1]-B[1]|+|A[2]-B[2|+|A[3]-B[3]|
// +|B[1]-B[2]|+|B[2]-B[3]|
//可以知道,如果要V尽可能小,那么对于B[2]的取值,
//则要求B[2]到A[2] B[1] B[3]的距离尽可能小,
//在数轴上可以看出,只要B[2]=中位数(A[2],B[1],B[3])即可
//即贪心规则如下:B[i]=Mid(A[i],B[i-1],B[i+1])(i=1……n-1)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std; int a[105],b[105]; int Mid(int a,int b,int c)
{
int num[4];
num[0]=a; num[1]=b; num[2]=c;
sort(num,num+3);
return num[1];
} int main()
{
int n;
while(~scanf("%d",&n))
{
int res=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(int i=1;i<n-1;i++)
b[i]=Mid(a[i],b[i-1],b[i+1]);
for(int i=0;i<n;i++)
res+=abs(a[i]-b[i]);
for(int i=1;i<n;i++)
res+=abs(b[i-1]-b[i]);
printf("%d\n",res);
}
return 0;
}

POJ 2313 Sequence#贪心的更多相关文章

  1. 【题解】Cut the Sequence(贪心区间覆盖)

    [题解]Cut the Sequence(贪心区间覆盖) POJ - 3017 题意: 给定一大堆线段,问用这些线段覆盖一个连续区间1-x的最小使用线段的数量. 题解 考虑一个这样的贪心: 先按照左端 ...

  2. HDU5014Number Sequence(贪心)

    HDU5014Number Sequence(贪心) 题目链接 题目大意: 给出n,然后给出一个数字串,长度为n + 1, 范围在[0, n - 1].然后要求你找出另外一个序列B,满足上述的要求,而 ...

  3. [POJ 3581]Sequence

    [POJ 3581]Sequence 标签: 后缀数组 题目链接 题意 给你一串序列\(A_i\),保证对于$ \forall i \in [2,n],都有A_1 >A_i$. 现在需要把这个序 ...

  4. hdu4915 Parenthese sequence 贪心O(n)解法(new)

    hdu4915 Parenthese sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K ...

  5. POJ 1456(贪心)

    #include <string.h> #include <iostream> #include <queue> #include <stdio.h> ...

  6. POJ 2442 Sequence

    Pro. 1 给定k个有序表,取其中前n小的数字.组成一个新表,求该表? 算法: 由于  a1[1] < a1[2] < a1[3] ... <a1[n] a2[1] < a2 ...

  7. poj -3614 Sunscreen(贪心 + 优先队列)

    http://poj.org/problem?id=3614 有c头奶牛在沙滩上晒太阳,每头奶牛能忍受的阳光强度有一个最大值(max_spf) 和最小值(min_spf),奶牛有L种防晒霜,每种可以固 ...

  8. POJ 3614 Sunscreen 贪心

    题目链接: http://poj.org/problem?id=3614 Sunscreen Time Limit: 1000MSMemory Limit: 65536K 问题描述 to avoid ...

  9. Poj 2478-Farey Sequence 欧拉函数,素数,线性筛

    Farey Sequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14291   Accepted: 5647 D ...

随机推荐

  1. [UWP-小白日记13]Composition动画

    前言 首先,来对比下传统动画和Composition动画.看图就能明白composition动画的优势太明显就像官方说的大幅度的降低了动画的实现难度和代码量. 传统的动画,就拿最常见的就是过度动画:进 ...

  2. CoreJavaE10V1P3.9 第3章 Java的基本编程结构-3.9 大数值(Big Numbers)

    如果基本的整型与浮点型不能满足需求,可以使用java.Math包提供的 BigInteger 和 BigDecimal 两个类,这两个类可以存储任意长度的数, BigInteger 实现的任意精度整数 ...

  3. CoreJavaE10V1P3.8 第3章 Java的基本编程结构-3.8 控制流程(Control Flow)

    通过使用条件语句.循环语句可以实现流程的控制. 3.8.1 块作用域(Block Scope) 块(Block)就是由一对花括号包围起来的部分.他指定了一个变量的生存范围,与一个方法的操作范围. Ja ...

  4. 两句话帮你彻底记住gdb之eXamining memory

    对于刚学习Unix/Linux环境C编程的小朋友们或者写了很多所谓的C代码的老手们(其实很可能是机械程序员或者是伪程序员)来说,要记住gdb的eXaming memory的语法其实是相当不容易的,如果 ...

  5. lcd_1602

    module lcd_pdf( clk,lcd_data, lcd_rw,lcd_rs, lcd_en,rst_n ); input clk; input rst_n; output reg [:] ...

  6. 报错找不到org.apache,http...的解决办法

    在build.gradle中加入 android { useLibrary 'org.apache.http.legacy' }

  7. 如何使用Git上传代码到GitHub

    1.在Github上面创建Github仓库: 2.下载Github Shell到本地:https://desktop.github.com/ 3.打开Github Shell,输入以下命令生成秘钥来验 ...

  8. Java 序列化 序列化与单例模式 [ 转载 ]

    Java 序列化 序列化与单例模式 [ 转载 ] @author Hollis 本文将通过实例+阅读Java源码的方式介绍序列化是如何破坏单例模式的,以及如何避免序列化对单例的破坏. 单例模式,是设计 ...

  9. [kuangbin带你飞]专题六 最小生成树 POJ 1287 Networking

    最小生成树模板题 跑一次kruskal就可以了 /* *********************************************** Author :Sun Yuefeng Creat ...

  10. Excel的 OleDb 连接串的格式(Provider=Microsoft.ACE.OLEDB)

    string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" + filePath + ";Exten ...