洛古题解之P8480
(题目传送门)
题目描述(此处简化了亿点点)
给出一个长为n的整数序列,并给这个序列进行m次操作,每次操作可以任意选择序列中一个数 ,令变成、、、这四个结果中的一个。最终希望m次操作后整个序列的极差最大。
输入格式
第一行两个整数n,m
第二行n个整数,表示序列
输出格式
共一行
一个整数,表示最大的极差
输入输出样例
输入
3 2
0 1 0
输出
6
数据范围
对于100%的数据,1<n<,0<m<11,0<<
以上是题目部分;以下是题解部分:
设当前的最大值为mx,最小值为mn。为了让极差变大,我们显然是只操作这两个数。并且一定是让mx变大,mn变小。所以我们只可能进行这四个操作:
1.
2.
3.
4.
下面我们就来考虑那种操作对答案的贡献更大:设一次操作对答案的贡献。那么这四种操作的贡献分别为:
1.。
2.。
3.。
4.。
显然有。所以不可能进行。也就意味着如果我们改变最小值,每次操作最多将答案+2。而如果改变最大值,每次操作至少可以让答案+2。所以我们只要操作最大值就可以了。下面我们考虑如何选取和操作。不难发现,当 mx>2时,进行操作更优。当 mx=2时,两种操作效果一样。当mx<2时,进行操作更优。并且当进行一次操作后必然有mx>1。所以我们只需要记录初始序列的最大值和最小值,如果最大值小于2,就先将其+2,然后不断的对最大值进行*2操作即可。
C语言:
#include<stdio.h>
long long n,m,x,maxx=0,minx=1e9;
int main() {scanf("%lld %lld",n,m);for(long long i=0;i<n;i++) {scanf("%lld",x);if(x>maxx) {maxx=x;}if(x<minx) {minx=x;}}if(maxx<2) {maxx+=2;m--;}printf("%lld",((1ll*maxx)<<m)-minx);return 0;
}
C++:
#include<iostream>
using namespace std;
long long n,m,x,maxx=0,minx=1e9;
int main() {cin>>n>>m;for(long long i=0;i<n;i++) {cin>>x;if(x>maxx) {maxx=x;}if(x<minx) {minx=x;}}if(maxx<2) {maxx+=2;m--;}cout<<((1ll*maxx)<<m)-minx;return 0;
}
洛古题解之P8480相关推荐
- 洛古最简单50题解(1-10)
做为一名新手,首先要过一过题,找找成就感.(大佬略过).下面附上洛古最简单50题(大佬略过).以及最麻烦 AC代码,至少AC了. 目录·列表: 洛古最简单50题解(1-10) 洛古最简单50题解(11 ...
- 洛古最简单50题解(41-50)
做为一名新手,首先要过一过题,找找成就感.(大佬略过).下面附上洛古最简单50题(大佬略过).以及最麻烦 AC代码,至少AC了. 目录·列表: 洛古最简单50题解(1-10) 洛古最简单50题解(11 ...
- 洛古最简单50题解(21-30)
做为一名新手,首先要过一过题,找找成就感.(大佬略过).下面附上洛古最简单50题(大佬略过).以及最麻烦 AC代码,至少AC了. 目录·列表: 洛古最简单50题解(1-10) 洛古最简单50题解(11 ...
- 洛古最简单50题解(31-40)
做为一名新手,首先要过一过题,找找成就感.(大佬略过).下面附上洛古最简单50题(大佬略过).以及最麻烦 AC代码,至少AC了. 目录·列表: 洛古最简单50题解(1-10) 洛古最简单50题解(11 ...
- 洛古最简单50题解(11-20)
做为一名新手,首先要过一过题,找找成就感.(大佬略过).下面附上洛古最简单50题(大佬略过).以及最麻烦 AC代码,至少AC了. 目录·列表: 洛古最简单50题解(1-10) 洛古最简单50题解(11 ...
- 洛古P2196 题解 兼本人第一篇题解
本人第一篇正式题解! 本题的主要思路: ①求挖地雷的最多个数. ②输出最多地雷的挖掘方法. 明确思路后代码实现 数据范围 n<=20 所以我们完全可以跑n遍DFS 求出其中的可以一次性挖的最多地 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes 题解(来源:洛古)
[USACO1.5]回文质数 Prime Palindromes 题目描述 因为 151 151 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 151 151 是回 ...
- 洛古 P1774 最接近神的人
置顶题解 P1908 [逆序对] - zhylj 的博客 - 洛谷博客 链接里有过程图,但题解里的题大小顺序和本题是相反的,但问题不大 题目描述 破解了符文之语,小FF开启了通往地下的道路 ...
- 洛谷-题解 P2672 【推销员】
独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...
最新文章
- Ant Design离线使用Icon图标资源
- Node.js 入门教程 (三):API-准备知识
- 反卷积在神经网络可视化上的成功应用
- 配置 docker0 网桥
- LeetCode-14 最长公共前缀
- python(26)查看文件的大小
- python的魔法方法
- 企业数据治理及在美团的最佳实践
- Flutter 实现 仿Android原生启动模式SingleTask
- 结构方程模型(SEM)理论篇 (SEM 1)
- 内边距怎么设置html,如何设置内边距
- YYC采集工具python语言精简方便实用的视频采集工具
- 1039:判断数正负(测试已通过)
- IPFS技术系列之IPFS底层基础
- 5个步骤做好会议复盘工作
- QT程序图标不能显示解决
- ROS(indigo) turtlebot2 + android一些有趣应用
- Python生成图片到visio的矢量图
- 珍藏的Android电子书
- 【深度学习】实验5布置:滴滴出行-交通场景目标检测