首页 > 其他分享 >Sol.CF1037B

Sol.CF1037B

时间:2023-09-12 19:33:38浏览次数:42  
标签:累加 mid 中位数 Sol 序列 CF1037B

又是随机跳题跳到的,再来写一篇题解。

不难发现又是一道用贪心解决的问题。

首先先对序列进行排序。

然后发现题目分为以下三种情况(\(mid\) 为中位数,当前中位数为 \(s\))

  • \(s=mid\) 输出特判即可。

  • \(s>mid\) 在序列的左边只要找到比 \(s\) 大的就累加他们的差进答案。

  • \(s<mid\) 在序列的右边只要找到比 \(s\) 大的就累加他们的差进答案。

核心代码如下

if(a[(n+1)/2]>mid){//s > mid
	for(int i=1;i<=(n+1)/2;i++){
		if(a[i]>mid)ans+=a[i]-mid;//累加他们的差
	}
} 
if(a[(n+1)/2]<mid){//s < mid
	for(int i=(n+1)/2;i<=n;i++){
		if(a[i]<mid)ans+=mid-a[i];//累加他们的差
	}
}

标签:累加,mid,中位数,Sol,序列,CF1037B
From: https://www.cnblogs.com/JacoAwA/p/CF1037B.html

相关文章

  • Sol.UVA10127
    题意:给定\(n\),找到形如\(1111...1111\)的数\(y\),使得\(y\equiv1\modx\),最终输出\(y\)的位数。思路:形如\(1111...1111\)的数可以拆分成\(10...00\times1+10...0\times1+...+10\times1+1\),因此我们可以每次让$y=y\times10+y$,每次判断是否能整除\(......
  • Sol.CF301A
    签到题中夹带着贪心考虑要尽可能把所有数变成正数。若\(n\)为奇数,则一定可以变成全部正数,首先翻出\(n\)个负数,其他的下一次翻完。若\(n\)为偶数,显然定有一个数还是负数,考虑最小的哪个。Accept代码如下:#include<iostream>#include<cmath>#definerep(a,b,c)for(int......
  • Sol.P6192
    Upd:开坑了,等会再补Upd2023/8/24:补完了!!Upd:改了很多遍了,希望管理过审或明确帮忙指出一下到底哪行有问题qwq谢谢题目传送门前置知识:最小斯坦纳树最小斯坦纳树可以理解为升级版的最小生成树。首先给定图\(G=(V,E)\),以及\(V\)的子集\(U\),\(U\)中的点为终端节点。最小斯坦......
  • 提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了
    提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了同步在github和gitee上面发布。github https://github.com/binghe021/ConsoleApp_Dll_Class2Jsongitee https://gitee.com/binghe021/ConsoleApp_Dll_Class2Json......
  • sol. CF1680F Lenient Vertex Cover
    CF1680FLenientVertexCover下面用\(G\)表示一个环的边集,记作环\(G\)。我们令一个环\(G\)的价值为它经过的返祖边数量,记作\(Z(G)\),下面给出核心结论:若存在一条边\(e_0\)经过所有\(Z(G)=1\)的奇环,且不经过任意一个\(Z(G)=1\)的偶环,那么\(e_0\)经过所有奇环......
  • Springboot项目中pom.xml配置文件无法解析下载oracl数据库解决办法(Cannot resolve com
    网上说是因Oracle的版权问题,导致maven下载不下来ojdbc各个版本的jar包。就会报错Cannotresolvecom.oracle:ojdbc6:11.2.0.1.0 经过一番百度,找到了一个适用的解决方法,如下操作即可:1.在终端或客户端机器上找到oracle安装驱动目录:例如:E:\myorcl\product\11.2.0\dbhome_1\j......
  • solidworks 2023 SP3.0 安装笔记
    参考文献:Crack自带readme.txthttps://mp.weixin.qq.com/s?__biz=Mzk0NjI3ODE4OQ==&mid=2247592805&idx=1&sn=a8af2a6130ebb82972d2e09df555a90b&chksm=c30bb127f47c3831e9a82129098132c06ba8d083f8cbe0085a293874efdd20ff92434d8d1fcc&scene=21#wechat_redir......
  • Solidity-变量和数据类型[复合类型_1]
    复合类型的数据包括:array(数组)、struct(结构体)和mapping(映射),其中array和struct也称为引用类型。复合类型数组(array)数组(array)是一种用于存储相同类型元素的集合,分为固定长度的静态数组和长度可变的动态数组。需要注意的是,数组中的元素类型不能是映射类型(mapping),因为映射类型本身......
  • 报错解决 :Resolved [org.springframework.web.bind.MissingServletRequestParameterE
    报错解决:Resolved[org.springframework.web.bind.MissingServletRequestParameterException解决方法:RequestParam注解加上required=false属性。这样请求参数可以传null对象。如果没有加上required=false属性,这样请求参数传""空字符串也不会报错。如果没有加上required=......
  • 如何在SOLIDWORKS中更改单位-硕迪科技
    SOLIDWORKS中的单位系统SOLIDWORKS中的单位系统可以针对单个文件修改、一次修改多个文件以及在默认模板中进行修改。每个SOLIDWORKS文件都有一个单位系统,该单位系统由该文件的文档属性控制。默认情况下,SOLIDWORKS零件、装配体和工程图模板各自规定了文件的单位制。如果您使用的是公......