GCJ——Minimum Scalar Product(2008 Round1 AA)
题意:
给定两组各n个数,可任意调整同一组数之中数字的顺序,求 sum xi*yi i=1..n的最小值。
Small: n<=8
abs xy,yi<=1000
Large: n<=800
abs xi,yi <= 100000
假如两个数字之和为固定,那么两数字之积最大当且仅当两两数字尽量接近。
所以,直觉告诉我们——将x升序排列,y降序排列,所得对应积最大。
因为顺序可以任意调整,所以我们完全可以固定x的数字顺序,仅仅思考y的数字顺序。
验证:
当n=2时:
当仅有两个数的时候 x1,x2,y1,y2 ,假定标号大的数字也大。
x1*y2+x2*y1 - (x1*y1 + x2*y2)
x1(y2 - y1) + x2 (y1-y2)
(x1-x2)(y2-y1) < 0
显然,n=2的情况下是符合的。
当n>2时:
假设最优解中,存在 ya,yb,有b>a且ya>yb(不是按照降序排列的),显然根据n=2,交换他们的位置,就会得到更小的答案。
所以,假设正确。
另外,还有很重要的一点,就是在Larger数据下,xi*yi是可能会溢出int的(10^10),数据要选择好。
GCJ——Minimum Scalar Product(2008 Round1 AA)的更多相关文章
- [Google Code Jam (Round 1A 2008) ] A. Minimum Scalar Product
Problem A. Minimum Scalar Product This contest is open for practice. You can try every problem as ...
- codejam环境熟悉—Minimum Scalar Product
今天准备熟悉一下codejam的在线编程,为google的笔试做准备,因此按照codejam上对新手的建议,先用了一个简单的题目来弄清楚流程.记录一下需要注意的地方. 1.输入输出 输入输出重定位 ...
- GCJ 2008 Round 1A Minimum Scalar Product
https://code.google.com/codejam/contest/32016/dashboard 题目大意: GCJ(google code jam)上的水题.下周二有比赛,来熟悉熟悉. ...
- GCJ 2008 Round 1A Minimum Scalar Product( 水 )
链接:传送门 题意:给两个向量 v1 = { x1 , x2 , x3 , x4 .... } , v2 = { y1 , y2 , y3 , y4 ...... } 允许任意交换 v1 和 v2 各 ...
- GCJ:2008 Round1AA-Minimum Scalar Product(有序数组倒序乘积和最小)
题目链接:https://code.google.com/codejam/contest/32016/dashboard#s=p0 Minimum Scalar Product This contes ...
- [UCSD白板题] Minimum Dot Product
Problem Introduction The dot product of two sequences \(a_1,a_2,\cdots,a_n\) and \(b_1,b_2,\cdots,b_ ...
- minimum viable product
w https://en.wikipedia.org/wiki/Minimum_viable_product
- 【刷题记录】GCJ 2.71~2.72
GCJ 271 [题目大意] Minimum Scalar Product 有两个东西(滑稽)v1=(x1,x2,x3,……,xn)和v2=(y1,y2,……yn),允许任意交换v1和v2中各数字的顺 ...
- ProgrammingContestChallengeBook
POJ 1852 Ants POJ 2386 Lake Counting POJ 1979 Red and Black AOJ 0118 Property Distribution AOJ 0333 ...
随机推荐
- Struts之上传
上传的jsp写法: <tr> <td width="50%" align="left">软件上传: <input type=&qu ...
- 新博客 http://kunyashaw.com/
感谢博客园. 请关注我的新博客: http://kunyashaw.com/
- hibernate 出错 集合
Lazy="false"反而出错 错误信息: “System.Configuration.ConfigurationErrorsException”类型的异常在 Spring.Co ...
- 隐匿攻击-ICMP
ICMP隐蔽隧道从入门到精通 概述 众所周知传统socket隧道已极少,tcp.upd大量被防御系统拦截,dns.icmp.http/https等难于禁止的协议(当然还有各种xx over dns/i ...
- Mac 如何删除应用、软件
首先需要跟刚接触Mac的小白分享一下卸载软件常用的两种方法: 1.点击Finder(访达)—应用程序—选择所要删除的软件—拖拽到右下方的废纸篓或者单击右键选择“移除到废纸篓”. 2.打开Launchp ...
- github pages+阿里云域名绑定搭建个人博客
1.选择mast 配置cname 设置域名 同时在github设置里面进行绑定 2.获取github pages的ip地址 打开你的电脑的命令行工具,ping你的github地址,忽略"/& ...
- Could not connect to Redis at 127.0.0.1:6379: Connection refused
启动redis: redis-server ../redis.conf redis启动成功后 执行命令行redis-cli报:Could not connect to Redis at 127.0. ...
- 习题:Dual Matrices(思路题/分治)
tyvj1764 描述一个N行M列的二维矩阵,矩阵的每个位置上是一个绝对值不超过1000的整数.你需要找到两个不相交的A*B的矩形,使得这两个矩形包含的元素之和尽量大.注:A*B的矩形指连续的A行.B ...
- html获取当前地址的参数
//jsd代码 function UrlSearch(){ var name,value; var str1 = ""; var str=loc ...
- proteus仿真 引脚显示电平变化但不能显示波形
proteus仿真 引脚显示电平变化但不能显示波形 原来是没有选择通道问题,proteus默认优先使用A通道才会显示波形,如果优先使用B,C,D通道,需要选择...