Minimizing Difference 【思维】】的更多相关文章

题目链接: https://vjudge.net/contest/336389#problem/B 题目大意: 给出一个长度为n的数列以及操作次数k.k的范围为1e14.每次操作都可以选择给任意一个数加1或者减1.问k次操作后,数列中最大值与最小值的差值最小是多少. 解题思路: 1.可以用二分 2.思维,对数组进行排序,同时计算前后两个方向.具体看代码: #include<stdio.h> #include<algorithm> typedef long long ll; ; us…
(点击此处查看原题) 题意分析 给出n个数,a1,a2...an,现在可以进行最多k次操作,每次操纵可以使得任意一个数自增或者自减,问经过最多k次操作后,n个数中的最大值-最小值最小为多少? 解题思路 一开始,看到k最大可达1e14,就知道这个肯定不能暴力求解...但是我们可以通过优化暴力的方法来解题 注意到,我们只需要考虑最大值和最小值之差,因此我们要么使得最小值增加,要么使得最大值减少,但是每个数一个个地增加太慢,所以我们记录下每个数的数量和值,这样就可以一次性将最小值或者最小值进行增减了…
传送门 首先减的顺序是无关紧要的,那么有一个显然的贪心 每次减都减最大或者最小的,因为如果不这样操作,最大的差值不会变小 那么直接把序列排序一下然后模拟一下操作过程即可,别一次只减 $1$ 就好 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long lon…
链接:http://codeforces.com/contest/1244/problem/E 题意: 给定包含$n$个数的数组,你可以执行最多k次操作,使得数组的一个数加1或者减1. 问合理的操作,使得数组中最大的数和最小的数差值最小. 思路: 二分答案,重点是检查的时候需要跑两遍. // #pragma GCC optimize(2) // #pragma GCC optimize(3) // #pragma GCC optimize(4) #include <algorithm> #in…
codeforces #592(Div.2) A Pens and Pencils Tomorrow is a difficult day for Polycarp: he has to attend a lectures and b practical classes at the university! Since Polycarp is a diligent student, he is going to attend all of them. While preparing for th…
   今天颓了一天T T 这题有两种写法... ①预处理出每种字符在原字符串中的位置,枚举两种字符作为最大值和最小值,把这两种字符的坐标归并排序,把最大值设为1,最小值设为-1,求最大子段和.注意因为最小值必须出现一次,所以要记录前缀最小值和次小值,答案只更新最小值出现次数不为0的一个,对于一个字符的出现次数用当前出现次数是否等于前缀最小值出现次数来判断就好了,复杂度O(50N). #include<iostream> #include<cstring> #include<c…
题意: 给你一个数n,你需要输出它可以由那几个数相乘构成,我们设可以由x个数构成,这x个数中最小值为minn,最大值为maxx,那么要求maxx-minn<=1 问你满足上面要求的情况有多少种.如果一个数的构成方式由无数种就输出-1 样例解释: 输入: 12 输出: 3 1 12 3 2 3 2 2 4 3 12有三种满足题意的构成方式,分别是12.2*3*2.4*3 输入 1 输出 -1 因为1的构成可以是1.1*1.1*1*1.1*1*1*1无数种 题解: 你会发现输出-1的情况都是2的次幂…
题目描述 A word consisting of lower-case letters of the English alphabet ('a'-'z') is given. We would like to choose a non-empty contiguous (i.e. one-piece) fragment of the word so as to maximise the difference in the number of occurrences of the most an…
[抄题]: Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes. Example: Input: 1 \ 3 / 2 Output: 1 Explanation: The minimum absolute difference is 1, which is the difference between 2…
An apparatus, system, and method are provided for automatically minimizing Real-Time (RT) task latency and maximizing Non-Real Time (NRT) task throughput. The apparatus may include a task manager, a determination module, and optionally a tracking mod…