• 漂亮的树


    街上有n棵树,标号为1...n,第i棵树的高度为ai
    定义这n棵树是漂亮的,当且仅当
        1. 对于所有的i,ai=an-i+1
        2. 对于1 <= i < n / 2 (不是整除),ai + 1= ai + 1;
    比如说 “2 3 4 5 5 4 3 2”和“1 2 3 2 1”是漂亮的而“1 3 3 1”和“1 2 3 1”不是。
    现在请问最少修改几棵树的高度(可以变大也可以变小),使得这些树是漂亮的。

    输入描述:

    第一行一个整数n表示树的数量( 1 <= n <= 100,000)。
    第二行n个整数表示树的高度( 1 <= a

    i

    <= 100,000)。

    输出描述:

    输出一个整数表示最少修改树的高度的数目。
    示例1

    输入

    3
    2 2 2

    输出

    1
    示例2

    输入

    4
    1 2 2 1

    输出

    0
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    #include <vector>
    #include <queue>
    #include <stack>
    #include <cstdlib>
    #include <iomanip>
    #include <cmath>
    #include <cassert>
    #include <ctime>
    #include <map>
    #include <set>
    using namespace std;
    #pragma comment(linker, "/stck:1024000000,1024000000")
    #define lowbit(x) (x&(-x))
    #define max(x,y) (x>=y?x:y)
    #define min(x,y) (x<=y?x:y)
    #define MAX 100000000000000000
    #define MOD 1000000007
    #define pi acos(-1.0)
    #define ei exp(1)
    #define PI 3.1415926535897932384626433832
    #define ios() ios::sync_with_stdio(true)
    #define INF 0x3f3f3f3f
    #define mem(a) ((a,0,sizeof(a)))
    int a[100006],b[200006],c[350006];
    int n,m;
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        if(n&1) m=n/2+1;
        else m=n/2;
        for(int i=1;i<=m;i++)
            b[i]=i;
        for(int i=m+1;i<=n;i++)
            b[i]=n-i+1;
        memset(c,0,sizeof(c));
        for(int i=1;i<=n;i++)
            c[a[i]-b[i]+200000]++;
        int ans=0;
        for(int i=0;i<=350000;i++)
            ans=max(ans,c[i]);
        printf("%d
    ",n-ans);
        return 0;
    }
  • 相关阅读:
    js添加删除元素内容
    [H5]range对象的createRange方法
    [H5]range对象的clone方法
    [H5]range对象的setStart/setEnd方法
    [H5]range对象之selectNode等方法
    [H5]API之range对象
    上传本地Jar包到阿里云的云效私有仓库
    Alibaba Cloud Toolkit 一键部署插件使用入门
    关于mybatis 注意
    win10 docker 安装oracel11g
  • 原文地址:https://www.cnblogs.com/shinianhuanniyijuhaojiubujian/p/8966541.html
Copyright © 2020-2023  润新知