Acperience

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 220    Accepted Submission(s): 119

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.||X|| = √ x12+...+xn2, where X = (x1,x2,...,xn).

 
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).

 
Output
For each test case, output the minimum value of ||W-αB|| 2 as an irreducible fraction "p/q" where re integers, q>0.
 
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
 
Author
zimpha
 
Source
 
 
 
解析:
aaarticlea/png;base64,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" alt="" />i=1​n​​w​i​2​​−​n​​1​​(​i=1​∑​n​​∣w​i​​∣)​2​​
 
 
 
#include <bits/stdc++.h>

typedef long long ll;

ll gcd(ll a, ll b)
{
return b == 0 ? a : gcd(b, a%b);
} int main()
{
int T, n;
scanf("%d", &T);
while(T--){
scanf("%d", &n);
ll w1 = 0, w2 = 0;
for(int i = 0, wi; i < n; ++i){
scanf("%d", &wi);
w1 += wi*wi;
w2 += abs(wi);
}
ll a = w1*n-w2*w2, b = n;
ll g = gcd(a, b);
printf("%I64d/%I64d\n", a/g, b/g);
}
return 0;
}

  

HDU 5734 Acperience的更多相关文章

  1. HDU 5734 Acperience(返虚入浑)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  2. HDU 5734 Acperience (推导)

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

  3. hdu 5734 Acperience 水题

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

  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. UNIX command Questions Answers asked in Interview

    UNIX or Linux operating system has become default Server operating system and for whichever programm ...

  2. hdoj 2544 最短路

    题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=2544 分析:Dijkstra算法 //2013-10-30 10:01:25 Accepted 254 ...

  3. hdu 1242 Rescue(BFS,优先队列,基础)

    题目 /******************以下思路来自百度菜鸟的程序人生*********************/ bfs即可,可能有多个’r’,而’a’只有一个,从’a’开始搜,找到的第一个’r ...

  4. Code::Blocks生成的EXE文件执行错误解决:The program can't start because libgcc_s_dw2-1.dll is missing

    想用C++弄个简单东东,看有没有可行性, 开发软件,微软的太大太肿,就选用了Code::Blocks. 测试HELLO时,在工程环境中没问题的,但生成的EXE执行有问题, 报什么 libgcc_s_d ...

  5. Linux 按行分割文件(转载)

    将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt       读出 BL ...

  6. 区间dp笔记√

    区间DP是一类在区间上进行dp的最优问题,一般是根据问题设出一个表示状态的dp,可以是二维的也可以是三维的,一般情况下为二维. 然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右两 ...

  7. 获取其它进程窗口中的状态栏信息(FindWindowEx GetWindowThreadProcessId OpenProcess SendMessage轮番轰炸)

    HWND hWnd = ::FindWindow(NULL, _T("XXXXX")); if(NULL == hWnd) { return ; } HWND hWndStatus ...

  8. C++:对象数组

    对象数组 对象数组:每一个数组元素都是对象的数组,也就是说,若一个类有若干个对象,我们把这 一系列的对象用一个数组来存放.对应数组元素是对象,不仅具有的数据成员,而且还有函数 成员. @定义一个一维数 ...

  9. Linux进程的睡眠和唤醒简析

    COPY FROM:http://www.2cto.com/os/201204/127771.html 1 Linux进程的睡眠和唤醒 在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在 ...

  10. Mysql:常用代码

    C/S: Client Server B/S: Brower Server Php主要实现B/S .net IIS Jave TomCat LAMP:L Mysql:常用代码 Create table ...