首页 > 其他分享 >CF1201C - Maximum Median

CF1201C - Maximum Median

时间:2024-01-13 21:57:54浏览次数:25  
标签:CF1201C const int Median Maximum mid i64 check

思路

二分答案。对于一个mid,查询中位数要是为mid的话至少要做多少次操作,最小操作次数就是排序后从中位数开始计算max(0, mid - v[i])的和

ac代码

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;
const i64 inf = 8e18;
typedef pair<int, int> pii;
const int N = 5e5 + 10;


void solve() {
    i64 n, k;
    cin >> n >> k;
    std::vector<i64> v(n + 1);
    for (int i = 1; i <= n; i++) cin >> v[i];
    sort(v.begin(), v.end());

    auto check = [&](int mid) {
        i64 res = 0;
        for (int i = (n + 1) / 2; i <= n; i++)
            res += max(0ll, mid - v[i]);
        return res > k;
    };

    i64 l = 1, r = 2e9;
    while (l < r) {
        i64 mid = (l + r + 1) / 2;
        if (check(mid)) r = mid - 1;
        else l = mid;

    }

    cout << l << endl;
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    cout.tie(0);

    int t = 1;
    //cin >> t;
    while (t --) solve();

    return 0;
}

标签:CF1201C,const,int,Median,Maximum,mid,i64,check
From: https://www.cnblogs.com/kichuan/p/17963021

相关文章

  • Maximum And Queries (hard version)
    题目传送门感觉这题比\(\rmF\)难啊,\(\rmF\)就是个板子,但为啥这题是蓝的,\(\rmF\)是紫的。思路首先考虑\(nq\)怎么做。发现很简单,按位贪心就行了。具体地说,从大到小枚举二进制位,判断答案中能否出现这一位,若\(i\)当前这一位没有值,那么必须被补全到这个值,否则无所谓,然......
  • ICPC2021Kunming G Find the Maximum 题解
    QuestionFindtheMaximum给出一个树,每个点有一个权值\(b_n\),求一条树上路径\(V\),要求\(\frac{\sum_{u\inV(-x^2+b_ux)}}{|V|}\)最大,其中\(x\)是自己选择的一个树Solution先转化一下\(\frac{\sum_{u\inV(-x^2+b_ux)}}{|V|}\),得到\[\frac{\sum_{u\inV(-x^2+b_......
  • EM(Expectation-Maximum)算法
    EM算法简介EM算法的核心分为两步E步(Expection-Step)M步(Maximization-Step)因为在最大化过程中存在两个参量,其中若知道,则知道;若知道,则知道。且两个量未存在明显的关系,但又互相依存可以采用EM算法其中主要思想为:首先随机初始化参数然后求的在参数下按照极大似然估计求得参数然后根据参......
  • CF1881F Minimum Maximum Distance 题解
    因为白点对\(f_i\)没有贡献,所以可以重构出一棵原树的子树,使得所有的叶子都为标记点且标记点数量不变(没有删去标记点)。因为没有标记被删去且结构不变,所以这棵树的答案与原树答案相同。现在,对于所有节点,到它距离最大的标记点一定在叶子上。那么问题就变为:求出树上任意一点到所有......
  • Nacos启动:[NACOS HTTP-POST] The maximum number of tolerable server reconnection e
    一、表象二、分析源码:publicHttpRestResult<String>httpPost(Stringpath,Map<String,String>headers,Map<String,String>paramValues,Stringencode,longreadTimeoutMs)throwsException{finallongendTime=System.currentTi......
  • 【刷题笔记】124. Binary Tree Maximum Path Sum
    题目Givena non-empty binarytree,findthemaximumpathsum.Forthisproblem,apathisdefinedasanysequenceofnodesfromsomestartingnodetoanynodeinthetreealongtheparent-childconnections.Thepathmustcontain atleastonenode anddoes......
  • CodeForces 1526F Median Queries
    洛谷传送门CF传送门首先,如果我们确定了\(1,2\)或\(n-1,n\)的位置,我们就能求出原排列。因为题目给了\(p_1<p_2\),所以可以不考虑对称性。也就是说我们知道两个位置是\(1,2\)或\(n-1,n\)但不确定究竟是\(1,2\)还是\(n-1,n\)也可以。然后,如果我们确定......
  • ICPC2022Xian E Find Maximum 题解
    LinkICPC2022XianEFindMaximumQuestion定义\(f(x)\)求Solution通过打表我们可以发现\(f(x)\)表示三进制表达中有效位数与数码和之和接下来考虑如何获得最大的\(f(x)\)贪心的去考虑,假设答案为\(Ans\),\((Ans)_3\)肯定是前几位和\((R)_3\)的前几位一样,然后某一......
  • CF1322E - Median Mountain Range - 总结
    CF1322E-MedianMountainRange考虑分别对每个位置求出最后的数字。先枚举出这个数\(x\),并将\(a_i\gex\)的数设为\(1\),\(a_i<x\)的数设为\(0\),然后做题目中的操作,若为\(0\),则最终结果小于\(x\),为\(1\)则大于等于\(x\)。使用二分可以优化到\(\Omicron(n^2\log......
  • 【刷题笔记】104. Maximum Depth of Binary Tree
    题目Givenabinarytree,finditsmaximumdepth.Themaximumdepthisthenumberofnodesalongthelongestpathfromtherootnodedowntothefarthestleafnode.Note:Aleafisanodewithnochildren.Example:Givenbinarytree[3,9,20,null,null,15,7],......