当前位置: 首页 > 编程日记 > 正文

求解|x-y|最小

问题:输入数组a和b,请通过交换的方式重新分配两个数组,使得|a-b|最小

提供一种思路:

当前数组a和数组b的和之差为    A = sum(a) - sum(b)
a的第i个元素和b的第j个元素交换后,a和b的和之差为    
A' = ( sum(a) - a[i] + b[j] ) -( sum(b)- b[j] + a[i] )   = sum(a) - sum(b) - 2 (a[i] - b[j])  = A - 2 (a[i] - b[j])设x= a[i] - b[j]     |A| - |A'| = |A| - |A-2x|假设A> 0,     当x在(0,A)之间时,做这样的交换才能使得交换后的a和b的和之差变小, x越接近A/2效果越好,    如果找不到在(0,A)之间的x,则当前的a和b就是答案。

所以问题转化成:
在a和b中寻找使得x在(0,A)之间并且最接近A/2的i和j,交换相应的i和j元素,重新计算A后,重复前面的步骤直至找不到(0,A)之间的x为止。

代码验证,待我有时间填坑。。。

转载于:https://www.cnblogs.com/LS1314/p/8716037.html

相关文章:

最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用50

广告客户吴言之前也研究过互联网广告业务模式,具体来讲可以分为六大模式:门户网站广告模式、搜索引擎广告模式、社会化网站广告模式、视频网站广告模式、植入式广告模式、广告联盟模式。对于门户网站广告模式来讲,这是一种push模式&#xff0…

终于遇见——王阳明

一个厉害的人 王阳明,五百年来的一个圣人,最后总结了四句教:无善无恶心之本,有善有恶意之动,知善知恶是良知,为善去恶是格物。看完王阳明的一生,再看到这四句话时,直让人发怔&#x…

【jquery】jquery基础知识

总体介绍: jquery是一个js的类库,为了减少代码量实现更多的功能 1、jquery使用需要引入jquery的类库,其中有一名称带min(产品版)有一个不带min的(开发版),作用相同。当我们同网页打…

针对19端口的Chargen进行Dos***

先普及一下基础吧: 英语全名:Character Generator Protocol 汉语:字符发生器协议 默认端口:TCP 19,UDP 19 本协议在RFC 864中定义。 在TCP连接建立后,服务器不断传送任意的字符到客户端,直到客户…

TCP/IP 简介

原文:TCP/IP 简介 第一节:TCP/IP 简介 第二节:TCP/IP 寻址 第三节:TCP/IP 协议 第四节:TCP/IP 邮件 TCP/IP 是用于因特网 (Internet) 的通信协议。 计算机通信协议 计算机通信协议是对那些计算机必须遵守以便彼此通信的…

MyEclipse提示键配置、提示快捷键、提示背景色、关键字颜色、代码显示

1、提示键配置一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话&#x…

【jquery】用jsp写jquery的模板

代码实现&#xff1a; <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt…

《网页设计创意书》读后感

刚刚收到《网页设计创意书》&#xff0c;确实有点惊喜&#xff0c;开始以为是像之前审读的书一样是一叠叠的打印纸&#xff0c;没想到是一本成品书&#xff0c;拿到手上沉甸甸的&#xff0c;随便翻看了一下&#xff0c;没想到里面竟然还是全彩页印刷的&#xff0c;本书的第一感…

博客园的博客积分与排名查看方法

我是今天才知道&#xff0c;out。因为这东东默认是不显示的&#xff0c;因此找不到。 注意&#xff1a;只是你在博客园的博客的积分排名&#xff0c;而不是你的在博客园的排名。 设置-博客设置&#xff08;博客后台管理&#xff09;-选项-积分与排名打勾。刷新你的博客页面即可…

产品经理之我见

产品经理的定义&#xff1a; 1、 管理、营销自己特定产品线、品牌和服务的责任。 2、 又叫品牌经理&#xff0c;行业经理&#xff0c;顾客细分经理等。 产品经理存在的地方 1、 消费型的零售业&#xff0c;服务业&#xff08;化妆品&#xff0c;金融行业等&#xff09;。 2、…

casperjs 安装试用

纠结了好久&#xff0c;一直报错, 具体错误信息现在已经忘了&#xff0c;后来看了官网的prerequisite&#xff0c;才知道要安装特定版本或greater 的 phantomjs 和 Python。我这边主要是没装python。当然还有casperjs 的bin 路径也要加到环境变量里&#xff08;windows). 然后都…

【jquery】jquery选择器

知识点 1、jquery选择器的作用是选择jquery页面中的html元素。 2、常用的选择器有&#xff1a;基本选择器、层级选择器、过滤选择器、属性选择器。 基本选择器 1、 id 选择器 代码实现&#xff1a; element $("#id") 等价于 document.getElementById("…

android-轻松监听来电和去电

要监听android打电话和接电话&#xff0c;只需下面2步骤 1.第一步&#xff0c;写一个Receiver继承自BroadcastReceiver public class PhoneStatReceiver extends BroadcastReceiver{private static final String TAG "PhoneStatReceiver";// private stat…

【sql】实现分页查询

分页查询&#xff0c;以五条五条查询为例&#xff1a; 代码实现&#xff1a; select * from goods_list LIMIT 0 , 5; 从第0条开始&#xff0c;查询五条

N-Case 律师事务所管理系统安装与卸载说明

目 录 1 解压安装包... 1 2 安装系统... 1 3 登录系统... 2 4 安装失败... 3 5 系统试用帐号... 3 6 远程访问... 3 7 卸载系统... 3 1 解压安装包 先解压软件包&#xff0c;解压后把redcat目录剪切或拷贝到D盘根目录下即可。一定要放到D…

jmeter分析性能报告时的误区

概述 我们用jmeter做性能测试&#xff0c;必然需要学会分析测试报告。但是初学者常常因为对概念的不清晰&#xff0c;最后被测试报告带到沟里去。 常见的误区 分析响应时间全用平均值响应时间不和吞吐量挂钩响应时间和吞吐量不和成功率挂钩。。。。。 平均值特别不靠谱 平均值为…

const的位置

2019独角兽企业重金招聘Python工程师标准>>> 1.指向常量的指针 const 类型 * 指针名 或者 类型 const * 指针名特点&#xff1a;不能修改指向的对象的值,可以修改指针的指向int var11; const int var22; const int * p1&var1; const int * p2&var2; *p1100;…

zookeeper入门系列 : 分布式事务

上一章我们了解了zookeeper到底是什么&#xff0c;这一章重点来看zookeeper当初到底面临什么问题&#xff1f;而zookeeper又是如何解决这些问题的&#xff1f; 实际上zookeeper主要就是解决分布式环境下的一致性问题。那么解决这个问题到底有哪些难点呢&#xff1f;我们一步一步…

rdlc报表显示条码 .

1.条码的生成&#xff1a; private Bitmap GetCode39(string strSource) { int x 5; //左邊界 int y 0; //上邊界 int WidLength 2; //粗BarCode長度 int NarrowLength 1; //細BarCode長度 …

python列表(数组)

python列表&#xff08;数组&#xff09; 列表&#xff08;list&#xff09; 就是 数组 - 列表是Python中的一个对象 - 对象&#xff08;object&#xff09;就是内存中专门用来存储数据的一块区域 - 之前我们学习的对象&#xff0c;像数值&#xff0c;它只能保存一…

【js】common.jsp的使用

通过将引入common.jsp将所有文件都需要的内容或静态资源引入&#xff0c;相当于一个页面&#xff0c;在页面被编译之前合并。 代码实现 <% include file "common.jsp的相对路径"%> 注意&#xff1a; <% page language"java" contentType&quo…

12th,Jan 研究生创新项目申报成功

今天的好消息是研究生创新项目申报成了&#xff0c;省里拨下来是1.8k&#xff0c;本来学校应该配3.6k&#xff0c;但是按照以往的经验&#xff0c;学校那3.6k是不会给的。。。所以总共就1.8k&#xff0c;呵呵&#xff0c;钱虽然不多&#xff0c;但是也是个小小小的成就吧。 昨晚…

Android studio中2种build.gradle文件介绍

根目录下的build.gradle通常不需要修改这个文件中的内容&#xff0c;除非需要添加一些全局的项目构建配置 buildscript {repositories {google() //声明代码托管仓库Googlejcenter() //声明代码托管仓库&#xff0c;用于引用jcenter上的开源项目}dependencies {classpath …

10个有趣的javascript和css库(2019年5月最新)

我们的使命是让您了解最新和最酷的Web开发趋势。这就是为什么我们每个月都会发布一些精选的资源&#xff0c;这些资源是我们偶然发现并认为值得您关注的。 1.Tessaract.js 强大的javascript&#xff08;节点和浏览器&#xff09;库&#xff0c;用于从图像中提取文本。它能自动检…

快速开发rails、==常用插件==

1、简化css编写的&#xff1a;sass http://sass-lang.com/download.html 2、简化html编写的:haml http://haml-lang.com/转载于:https://www.cnblogs.com/klobohyz/archive/2011/10/31/2230080.html

【js】绑定事件的两种方法

方法一&#xff1a; 为需要绑定事件的标签添加一个属性onclick 代码实现&#xff1a; <input type"button" value"测试按钮" onclick"testClick()" /> 方法二&#xff1a; 用jquery方法绑定事件 代码实现&#xff1a; <input id&…

对于学习方式的一些思考

再牛X的书都不要太当回事儿&#xff0c;书只是知识的一个载体&#xff0c;掌握知识的途径之一。学习的过程应该是由一个个知识模块所驱动的&#xff0c;继而去调动身边的学习资源和工具&#xff0c;而不是被一本本所谓的牛书生拉硬拽着去学一大套可能永远都用不到的东西。“知识…

python开发环境安装

PyCharm的安装地址&#xff1a;http://www.jetbrains.com/pycharm/download/#sectionwindows&#xff0c;免费的可以选择社区版本 Python解释器的安装地址&#xff1a;https://www.python.org/downloads/&#xff0c;选择对应的平台及版本下载&#xff0c;安装时勾选 添加到环…

HGOI 20190709 题解

Problem A 紫色激情 一个序列$\{a_n\}$&#xff0c;求出方差最大的子序列。 其中方差 [l,r] 的定义是$S^2 \frac{1}{n} \sum\limits_{il}^{r} (x_i-\bar{x})^2$ 对于100%的数据满足$n \leq 10^3$ Sol : 直接推一波公式就可以前缀和优化了。 ${ S_{l,r} }^2 -\bar{x}^2 \frac{…

C++标准库简介(转)

C标准库的所有头文件都没有扩展名。C标准库的内容总共在50个标准头文件中定义&#xff0c;其中18个提供了C库的功能。 <cname>形式的标准头文件【 <complex>例外】其内容与ISO标准C包含的name.h头文件相同&#xff0c;但容纳了C扩展的功能。在 <cname>形式标…