标签:贪心

题目

题目传送门

题目描述

你是一只小跳蛙,你特别擅长在各种地方跳来跳去。

这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 i i i 块的石头高度为 h i h_i hi​,地面的高度是 h 0 = 0 h_0 = 0 h0​=0。你估计着,从第 i i i 块石头跳到第 j j j 块石头上耗费的体力值为 ( h i − h j ) 2 (h_i - h_j) ^ 2 (hi​−hj​)2,从地面跳到第 i i i 块石头耗费的体力值是 ( h i ) 2 (h_i) ^ 2 (hi​)2。

为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次,并最终停在任意一块石头上,并且小跳蛙想耗费尽可能多的体力值。

当然,你只是一只小跳蛙,你只会跳,不知道怎么跳才能让本领更充分地展现。

不过你有救啦!小 F 给你递来了一个写着 AK 的电脑,你可以使用计算机程序帮你解决这个问题,万能的计算机会告诉你怎么跳。

那就请你——会写代码的小跳蛙——写下这个程序,为你 NOIp AK 踏出坚实的一步吧!

输入输出格式

输入格式

输入一行一个正整数 n n n,表示石头个数。

输入第二行 n n n 个正整数,表示第 i i i 块石头的高度 h i h_i hi​。

输出格式

输出一行一个正整数,表示你可以耗费的体力值的最大值。

输入输出样例

输入样例#1

2
2 1

输出样例#1

5

输入样例#2

3
6 3 5

输出样例#2

49

说明

样例解释

两个样例按照输入给定的顺序依次跳上去就可以得到最优方案之一。

数据范围

对于 1 ≤ i ≤ n 1 \leq i \leq n 1≤i≤n,有 0 &lt; h i ≤ 1 0 4 0 &lt; h_i \leq 10 ^ 4 0<hi​≤104,且保证 h i h_i hi​ 互不相同。

对于 10 % 10\% 10% 的数据, n ≤ 3 n \leq 3 n≤3;

对于 20 % 20\% 20% 的数据, n ≤ 10 n \leq 10 n≤10;

对于 50 % 50\% 50% 的数据, n ≤ 20 n \leq 20 n≤20;

对于 80 % 80\% 80% 的数据, n ≤ 50 n \leq 50 n≤50;

对于 100 % 100\% 100% 的数据, n ≤ 300 n \leq 300 n≤300。

分析

题目最后一句毒奶真的神2333

贪心策略:排序后,选择当前差值最大的两个石头跳

code

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
#define mem(x,num) memset(x,num,sizeof x)
#define reg(x) for(int i=last[x];i;i=e[i].next)
using namespace std;
inline ll read(){ll f=1,x=0;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
//**********head by yjjr**********
ll n,a[306],ans;
int main()
{n=read();rep(i,1,n)a[i]=read();sort(a+1,a+1+n);int head=0,tail=n;while(head<tail){ans+=(a[head]-a[tail])*(a[head]-a[tail]);head++;ans+=(a[head]-a[tail])*(a[head]-a[tail]);tail--;}cout<<ans<<endl;return 0;
}

洛谷4995 跳跳!相关推荐

  1. 贪心——洛谷P4995 跳跳!

    洛谷P4996 跳跳! 题目描述\color{blue}题目描述题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ...

  2. 贪心算法——洛谷(P4995)跳跳!

    很简单的一道题,就是排序之后贪心+模拟: 先将台阶的高度从小到大排序,注意0也算,但是不是输入进去的: 每次从距离 最小和最大值之间跳跃, 从最小跳到最大之后,最大值不变,最小的下标+1,从最大跳到最 ...

  3. P4995 跳跳! java 洛谷

    P4995 跳跳! java 洛谷 一.题目描述: 题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石 ...

  4. 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心

    题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi​,地面的高度是 h_0 = 0 ...

  5. 洛谷-P4995-跳跳

    跳跳! - 洛谷 解题思路: 1.由题意得,要求所耗费的体力最大值,体力值的计算 公式给出,可以判断,两个石头的高度差越大即越 好,所以这里的贪心思想是总要跳到和当前石头高度 差最大的那个石头 2. ...

  6. 洛谷11月月赛(284pts rank85)

    https://www.luogu.org/contestnew/show/12006 我是比赛完后在去写的 这是我第一次打洛谷月赛,之前一次是比赛完才去看而且写了第一题就没写后面的了 284分,太水 ...

  7. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  8. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

  9. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

最新文章

  1. MySQL番外篇:一条SQL查询语句是如何执行的?
  2. java 转发上传文件_Java 发送http请求上传文件功能实例
  3. django_rest_framework之GenericAPIView(三)
  4. 一个课程,11个项目!爬虫初体验,快来!
  5. 解决: Incorrect username or password, or no permission ( Docker 方式运行 Nexus3 登陆密码不为 admin123 、重置登陆密码)
  6. android自动化持续集成,Android系统的持续集成自动化测试框架的研究与实践
  7. 实用的powershell小技巧,持续更新……
  8. 单片机项目开发一般步骤
  9. PHP设计模式——备忘录模式
  10. Sql查询出数据表中所有重复的数据
  11. FPGA SPI协议
  12. win10无线网 服务器,win10专业版wifi变成地球怎么办_win10 wifi图标变成小地球无法连接网络如何解决...
  13. 9.2 5道半leetcode+2verilog+ques lists
  14. 高颜值挂脖式运动蓝牙耳机盘点,五款3D环绕高音质蓝牙耳机测评分享
  15. HTML5游戏 看你有多“色” 开发
  16. connect的中文意思是什么_connect是什么意思
  17. 【小白目标检测】手把手教你做视频中的实时目标检测(基于Pelee算法)
  18. python爬虫超时重试_python爬虫怎么处理异常和超时?
  19. ios 内购开发,passbook,蓝牙
  20. java 将对象写入链表_在Java中,_____类可用于创建链表数据结构的对象。

热门文章

  1. 试题六(java+设计模式)
  2. Wikibon 2018年云市场和2019趋势报告:云移向数据
  3. K-Means聚类 和 高斯混合模型(GMM)
  4. [虚拟机保护] [原创]关于滴水的VT调试器
  5. python垃圾分类源代码_Python 垃圾分类查询
  6. SQL server 数据库单表查询前n%行
  7. 云计算实训室课程体系设计
  8. Xcon2014 Geekpwn2014
  9. RHSCA红帽认证系统管理员
  10. 7月16日周二晚上,陈勇,【敏捷网络课堂第六期】【免费】敏捷开发早期估算