HDU 5734 Acperience(返虚入浑)

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

 

Problem Description - 题目描述

Deep neural networks (DNN) have shown significant improvements in several application domains including computer vision and speech recognition. In computer vision, a particular type of DNN, known as Convolutional Neural Networks (CNN), have demonstrated state-of-the-art results in object recognition and detection.

Convolutional neural networks show reliable results on object recognition and detection that are useful in real world applications. Concurrent to the recent progress in recognition, interesting advancements have been happening in virtual reality (VR by Oculus), augmented reality (AR by HoloLens), and smart wearable devices. Putting these two pieces together, we argue that it is the right time to equip smart portable devices with the power of state-of-the-art recognition systems. However, CNN-based recognition systems need large amounts of memory and computational power. While they perform well on expensive, GPU-based machines, they are often unsuitable for smaller devices like cell phones and embedded electronics.

In order to simplify the networks, Professor Zhang tries to introduce simple, efficient, and accurate approximations to CNNs by binarizing the weights. Professor Zhang needs your help.

More specifically, you are given a weighted vector W=(w1,w2,...,wn). Professor Zhang would like to find a binary vector B=(b1,b2,...,bn) (bi∈{+1,−1}) and a scaling factor α≥0 in such a manner that ||W - αB||2 is minimum.
 

Note that  denotes the Euclidean norm (i.e., where X=(x1,x2,...,xn)).

深度神经网络(DNN)对诸如计算机视觉与语音识别等领域具有显著的改善作用。DNN在计算机视觉中的特例为卷积神经网络(CNN),这是对象识别与检测的高端成果。

卷积神经网络为对象识别与检测提供可靠结果,在三次元领域十分有用。在识别进步的同时,虚拟现实(VR by Oculus),增强现实(AR by HoloLens),与智能穿戴设备也出现了有趣的进展。合而观之,是时候为智能穿戴搭载尖端识别系统了。然而基于CNN的识别系统需要大量的内存与高超的计算性能。虽然他们在基于GPU的昂贵机器上表现良好,但在例如手机与嵌入式之类的小设备上就坑爹了。

为了简化网络,张教授尝试通过简明扼要的二进制权重估计CNN的精确近似值。教授需要你的帮助。

简而言之,先给你一个加权向量W=(w1,w2,...,wn)。张教授想找出一个二进制向量B=(b1,b2,...,bn) (bi∈{+,−})与一个缩放系数α≥0使得||W - αB||^2最小。

注意||·||表示欧几里德范数(即||X||^ = (x1^ + ... xn^),其中X=(x1,x2,...,xn))。

CN

Input - 输入

There are multiple test cases. The first line of input contains an integer T, indicating the number of test cases. For each test case: 

The first line contains an integers n (1≤n≤100000) -- the length of the vector. The next line contains n integers: w1,w2,...,wn (−10000≤wi≤10000).
多组测试用例。输入的第一行为一个整数T,表示测试用例的数量。对于每个测试用例:

第一行为一个整数n (≤n≤)——向量的长度。下一行有n个整数w1,w2,...,wn (−≤wi≤)。

CN

Output - 输出

For each test case, output the minimum value of ||W - αB||2 as an irreducible fraction "p/q" where p, q are integers, q>0.

对于每组测试用例,输出以不可约分数"p/q"的表示||W - αB||^2最小值,此处p与q为整数,q>。

CN

Sample Input - 输入样例

3
4
1 2 3 4
4
2 2 2 2
5
5 6 2 3 4

Sample Output - 输出样例

5/1
0/1
10/1

题解

  一般的公式推倒

  此时已基本是一元二次不等式,设

 

  带入,得

  因为opt>=0,所以要使opt最小,则b最大。

代码 C++

 #include <cstdio>
#include <cstdlib>
#define mx 100005
__int64 GCD(__int64 a, __int64 b){
__int64 c;
while (c = a%b) a = b, b = c;
return b;
}
int main(){
__int64 t, n, i, tmp, c, b;
for (scanf("%I64d", &t); t; --t){
c = b = tmp = ;
for (i = scanf("%I64d", &n); i <= n; ++i){
scanf("%I64d", &tmp);
c += tmp * tmp;
b += abs(tmp);
}
c = c*n - b*b;
tmp = GCD(c, n);
printf("%I64d/%I64d\n", c / tmp, n / tmp);
}
return ;
}

HDU 5734 Acperience(返虚入浑)的更多相关文章

  1. HDU 5734 Acperience (推导)

    Acperience 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5734 Description Deep neural networks (DN ...

  2. hdu 5734 Acperience 水题

    Acperience 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5734 Description Deep neural networks (DN ...

  3. HDU 5734 Acperience

    Acperience Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  4. hdu 5734 Acperience(2016多校第二场)

    Acperience Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  5. HDU 5734 Acperience (公式推导) 2016杭电多校联合第二场

    题目:传送门. #include <iostream> #include <algorithm> #include <cstdio> #include <cs ...

  6. HDU 5734 Acperience(数学推导)

    Problem Description Deep neural networks (DNN) have shown significant improvements in several applic ...

  7. HDU 5734 Acperience ( 数学公式推导、一元二次方程 )

    题目链接 题意 : 给出 n 维向量 W.要你构造一个 n 维向量 B = ( b1.b2.b3 ..... ) ( bi ∈ { +1, -1 } ) .然后求出对于一个常数 α > 0 使得 ...

  8. HDU 5734 A - Acperience

    http://acm.hdu.edu.cn/showproblem.php?pid=5734 Problem Description Deep neural networks (DNN) have s ...

  9. Acperience HDU - 5734

    Deep neural networks (DNN) have shown significant improvements in several application domains includ ...

随机推荐

  1. Empire C:游戏篇(1)

    随机生成1-6的数字,我们来猜是几 猜小了就提示数字小了,请再猜 猜大了就提示数字大了,请再猜 猜对了就提示恭喜,并提示是否继续再玩 ///riddle ///Author:JA //2015-1-2 ...

  2. 拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)

    <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta nam ...

  3. LoadRunner11.00安装问题及解决方法

    1.安装提示:“安装程序已确定正在等待重新启动....” 解决方法:打开安装包,找到:\Additional Components\IDE Add-Ins\MS Visual Studio .NET\ ...

  4. iOS 用collectionview 做的无限图片滚动 广告banner适用

    使用方法见demo,bug未知,若有什么问题欢迎留言:) http://files.cnblogs.com/files/n1ckyxu/NickyScrollImageView.zip demo使用s ...

  5. 1920.154s 0.309s 30817

    MyISAM HASH  restart-buffer ; ; ; SELECT * FROM grab_sales_rank_month; ; 受影响的行: 时间: .002s [SQL] ; 受影 ...

  6. RESTful简单介绍(入门)

    1.1      什么是RESTful http://www.ruanyifeng.com/blog/2011/09/restful.html RESTful架构,就是目前最流行的一种互联网软件架构. ...

  7. m=m++,结果让你大吃一惊。

    如图,本来以为m=m++和m++是同一个效果,没想到m的值居然还是0. 原来m++是一个表达式,是有返回值的,它的返回值就是m自加前的值,Java对自加是这样处理的:首先把m的值(注意是值,不是引用) ...

  8. IIS不能对网站添加默认文档(由于权限不足而无法写入配置文件)

    IIS7以上版本配置网站时需要手动配置网站目录的文件夹权限 增加"IIS_IUSER"用户的修改权限 但增加后仍然提示“ 由于权限不足无法写入配置文件” 通常是Web.config ...

  9. substr mb_substr mbstrct 的用法区别

    1.substr遇到中文会出问题,用于截取英文字符 2.mb_substr() 按字符截取字符串,需要开启php_mbstring.dll <?php echo mb_substr(, , 'u ...

  10. 关于缓存中Cookie,Session,Cache的使用

    文章来源:http://canann.iteye.com/blog/1941173 以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application. 其中C ...