「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心
题目描述
你是一只小跳蛙,你特别擅长在各种地方跳来跳去。
这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi,地面的高度是 h_0 = 0h0=0。你估计着,从第 ii 块石头跳到第 jj 块石头上耗费的体力值为 (h_i - h_j) ^ 2(hi−hj)2,从地面跳到第 ii 块石头耗费的体力值是 (h_i) ^ 2(hi)2。
为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次,并最终停在任意一块石头上,并且小跳蛙想耗费尽可能多的体力值。
当然,你只是一只小跳蛙,你只会跳,不知道怎么跳才能让本领更充分地展现。
不过你有救啦!小 F 给你递来了一个写着 AK 的电脑,你可以使用计算机程序帮你解决这个问题,万能的计算机会告诉你怎么跳。
那就请你——会写代码的小跳蛙——写下这个程序,为你 NOIp AK 踏出坚实的一步吧!
输入输出格式
输入格式:
输入一行一个正整数 nn,表示石头个数。
输入第二行 nn 个正整数,表示第 ii 块石头的高度 h_ihi。
输出格式:
输出一行一个正整数,表示你可以耗费的体力值的最大值。
输入输出样例
说明
样例解释
两个样例按照输入给定的顺序依次跳上去就可以得到最优方案之一。
数据范围
对于 1 \leq i \leq n1≤i≤n,有 0 < h_i \leq 10 ^ 40<hi≤104,且保证 h_ihi 互不相同。
对于 10\%10% 的数据,n \leq 3n≤3;
对于 20\%20% 的数据,n \leq 10n≤10;
对于 50\%50% 的数据,n \leq 20n≤20;
对于 80\%80% 的数据,n \leq 50n≤50;
对于 100\%100% 的数据,n \leq 300n≤300。
题解
先跳个最大的,然后跳到最小的,然后跳到没跳过的最大的,再跳到没跳过的最小的......
正确性证明:设$a>b>c>d$,则需证$(a-d)^2+(b-c)^2>(a-c)^2+(b-d)^2$
$a^2+b^2+c^2+d^2-2*a*d-a*b*c>a^2+b^2+c^2+d^2-2*a*c-2*b*d$
$a*c+b*d>b*c+a*d$
$a*(c-d)>b*(c-d)$
$a>b$
所以$(a-d)^2+(b-c)^2>(a-c)^2+(b-d)^2$
然后太懒了,所以拿了两个堆维护当前要取的最大(最小)数。
/*
qwerta
P4995 跳跳! Accepted
100
代码 C++,0.51KB
比赛 【LGR-055】洛谷11月月赛
提交时间 2018-11-04 09:07:06
耗时/内存 25ms, 788KB
*/
#include<iostream>
#include<cstdio>
#include<cmath>
#include<queue>
using namespace std;
priority_queue<int>p;
priority_queue<int,vector<int>,greater<int> >q;
int main()
{
int n;
scanf("%d",&n);
for(int i=;i<=n;++i)
{
int x;
scanf("%d",&x);
p.push(x);
q.push(x);
}
int bef=;
long long ans=;
for(int i=;i<=n;++i)
{
if(i&)//奇数次取大的
{
int x=p.top();
p.pop();
ans+=(x-bef)*(x-bef);
bef=x;
}
else//偶数次取小的
{
int x=q.top();
q.pop();
ans+=(x-bef)*(x-bef);
bef=x;
}
}
cout<<ans;
return ;
}
「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心的更多相关文章
- 「P4994」「洛谷11月月赛」 终于结束的起点(枚举
题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...
- 「P4996」「洛谷11月月赛」 咕咕咕(数论
题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...
- 洛谷11月月赛(284pts rank85)
https://www.luogu.org/contestnew/show/12006 我是比赛完后在去写的 这是我第一次打洛谷月赛,之前一次是比赛完才去看而且写了第一题就没写后面的了 284分,太水 ...
- 洛谷11月月赛round.1
太感动了#2 thwfhk 240 (801ms) 100 100 40 又一张明信片,话说10月的怎么还没收到 P2246 SAC#1 - Hello World(升级版) 题目背景 一天, ...
- 洛谷11月月赛round.2
P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣 ...
- 洛谷11月月赛题解(A-C)
心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了.. A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告 ...
- NOIP模拟赛(洛谷11月月赛)
T1 终于结束的起点 题解:枚举啊... 斐波那契数 第46个爆int,第92个爆long long.... 发现结果一般是m的几倍左右....不用担心T. #include<iostream ...
- 【CSGRound2】逐梦者的初心(洛谷11月月赛 II & CSG Round 2 T3)
题目描述# 给你一个长度为\(n\)的字符串\(S\). 有\(m\)个操作,保证\(m≤n\). 你还有一个字符串\(T\),刚开始为空. 共有两种操作. 第一种操作: 在字符串\(T\)的末尾加上 ...
- 最大字段和&洛谷11月月赛DIV2 T1
蒟蒻只能打一打DIV2的基础题 太卑微了 这道题的本质其实是再建一个数组,如果s串i位置是0那么就给a[i]赋值为1,表示要累加个数,如果是1那么就把a[i]赋值为-1,表示个数减一,最后求最大子段和 ...
随机推荐
- springmvc结合base64存取图片到mysql
简单介绍: 1.jsp通过MultipartFile上传图片到后台 2.后台把上传的图片通过base64转换成字符串存到mysql 3.从mysql读取图片字符串,通过base64反转成byte数组, ...
- 李振杰:火狐Mozilla被黑事件的启发
火狐浏览器开发商Mozilla近日宣布,因为数据库存在漏洞.Mozilla开发者的数万个电子邮件地址和加密password或遭到黑客窃取. 好多有为青年们往往刚刚获得了一个小成功,便開始沾沾自喜,自命 ...
- TP 框架 如果去掉表前缀
#jd_admin_abc 去掉前缀 C('DB_PREFIX')=获取前缀 结果为admin_abc $table_Name=str_replace(C('DB_PREFIX'), '', $tab ...
- EasyNVR H5无插件摄像机直播解决方案前端解析之:关于直播页面和视频列表页面切换的问题
关于直播页面和视频列表页面切换 为了给用户更好的用户体验,并且更好的让用户快速简洁的了解实时的视频直播信息.一般多会分为列表展示和实时的视频直播展示. 表面上只是两个视图之间的随意切换,其实切换的两个 ...
- django框架小技巧
带命名空间的URL名字 多应用中路由定义,采用命名空间,防止冲突 url(r'^polls/', include('polls.urls', namespace="polls")) ...
- C# 自定义控件制作和使用实例(winform)(转)
本例是制作一个简单的自定义控件,然后用一个简单的测试程序,对于初学者来说,本例子比较简单,只能起到抛石引玉的效果. 我也是在学习当中,今后会将自己所学的逐步写出来和大家交流共享. 第一步:新建一个 ...
- net上传文件的三种方法
ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关 ...
- UITableViewCell的多选操作
版权声明:本文为博主原创文章.未经博主同意不得转载,转载需加上原博客链接. https://blog.csdn.net/panyong4627/article/details/37902207 - ( ...
- Java for LeetCode 134 Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...
- 郝健: Linux内存管理学习笔记-第2节课【转】
本文转载自:https://blog.csdn.net/juS3Ve/article/details/80035753 摘要 slab./proc/slabinfo和slabtop 用户空间mallo ...