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. Yii源码阅读笔记(二十六)

    Application 类中设置路径的方法和调用ServiceLocator(服务定位器)加载运行时的组件的方法注释: /** * Handles the specified request. * 处 ...

  2. VS2010 更改C#类库模板

    首先你找到你自己的 VS2010安装目录,例如我本地是: D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTem ...

  3. Java简单类——双向一对多映射

    class Item { // 父栏目 private int iid ; private String name ; private String note ; private Subitem su ...

  4. 在VS2013中查看C/C++预处理后的文件

    1.右键工程(例子中是myproject),选择[属性],在弹出的对话框中,选择[配置属性]-->[C/C++]-->[预处理器],将[预处理到文件]该为[是],应用,确认. 2.在VS ...

  5. ios 修改webView字体

    UIFont *font = [UIFont systemFontOfSize:]; //方法一 NSString *fontColor =@"CCCCFF"; NSString ...

  6. LNMP-Linux下Nginx+MySQL+PHP+phpMyAdmin+eAcelerator一键安装包

    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL.PHP.phpMyA ...

  7. magento 每日新品展示

    http://blog.csdn.net/benben0503/article/details/8647020 1.创建Newarrivals.php文件: <?php /** * This i ...

  8. sublimetext ruby 插件

    写ruby的编辑器推荐  俗话说磨刀不误砍柴工,好的编辑器可以写的更舒服,更快. 完全初学者建议用RubyMine,这个目前估计最强的写Ruby的IDE. 不过我没有使用它,因为它速度太慢了.如果你能 ...

  9. Selenium2学习-038-firefox、webdriver版本不对称问题解决:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055

    今天有个朋友在群里问,为何脚本运行不通过,其脚本操作步骤简单描述如下: 1.启动火狐浏览器 2.打开百度 3.查询框输入关键字 4.点击按钮[百度一下] 脚本挺简单的,其给出的应用报错信息如下所示: ...

  10. 大商创 sql追踪 卖家入驻

    ' ' ' ', '', '', '') ' Query ' Query ' Query ' Query ' Query ' Query ' Query ' Query ' Query ' Query ...