zoukankan      html  css  js  c++  java
  • HDU5095——水过——Linearization of the kernel functions in SVM

    Problem Description
    SVM(Support Vector Machine)is an important classification tool, which has a wide range of applications in cluster analysis, community division and so on. SVM The kernel functions used in SVM have many forms. Here we only discuss the function of the form f(x,y,z) = ax^2 + by^2 + cy^2 + dxy + eyz + fzx + gx + hy + iz + j. By introducing new variables p, q, r, u, v, w, the linearization of the function f(x,y,z) is realized by setting the correspondence x^2 <-> p, y^2 <-> q, z^2 <-> r, xy <-> u, yz <-> v, zx <-> w and the function f(x,y,z) = ax^2 + by^2 + cy^2 + dxy + eyz + fzx + gx + hy + iz + j can be written as g(p,q,r,u,v,w,x,y,z) = ap + bq + cr + du + ev + fw + gx + hy + iz + j, which is a linear function with 9 variables.

    Now your task is to write a program to change f into g.
     
    Input
    The input of the first line is an integer T, which is the number of test data (T<120). Then T data follows. For each data, there are 10 integer numbers on one line, which are the coefficients and constant a, b, c, d, e, f, g, h, i, j of the function f(x,y,z) = ax^2 + by^2 + cy^2 + dxy + eyz + fzx + gx + hy + iz + j.
     
    Output
    For each input function, print its correspondent linear function with 9 variables in conventional way on one line.
     
    Sample Input
    2 0 46 3 4 -5 -22 -8 -32 24 27 2 31 -5 0 0 12 0 0 -49 12
     
    Sample Output
    46q+3r+4u-5v-22w-8x-32y+24z+27 2p+31q-5r+12w-49z+12
     
    Source
     
    Recommend
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int T;
    int a[11];
    int vis[11];
    char b[12] = "pqruvwxyz";
    int main()
    {
        scanf("%d",&T);
        while(T--){
            memset(vis,0,sizeof(vis));
            for(int i = 1; i <= 10 ; i++){
                scanf("%d",&a[i]);
                if(a[i] == 0)
                    vis[i] = 1;
            }
            if(a[1] == 0&&a[2] ==0&& a[3] ==0&& a[4] ==0&& a[5] ==0&& a[6] ==0&& a[7] ==0&& a[8] ==0&& a[9] ==0&& a[10] == 0){
                printf("0
    ");
                continue;
            }
            int flag = 1;
            for(int i = 1; i <= 10 ; i++){
                if(a[i] == 0) continue;
                if(flag && a[i]){
                    if(i!=10){
                        if(a[i] == 1)
                        printf("%c",b[i-1]);
                        else if(a[i] == -1)
                            printf("-%c",b[i-1]);
                        else 
                           printf("%d%c",a[i],b[i-1]);
                    }
                    else printf("%d",a[i]);
                    flag = 0;
                }
                else {
                    if(a[i] > 0){
                        printf("+");
                        if(i!=10){
                        if(a[i] == 1)
                            printf("%c",b[i-1]);
                        else 
                        printf("%d%c",a[i],b[i-1]);
                        }
                        else printf("%d",a[i]);
                    }
                    else {
                        printf("-");
                        if(i!=10){
                        if(a[i] == -1)
                            printf("%c",b[i-1]);
                        else 
                        printf("%d%c",-a[i],b[i-1]);
                        }
                        else printf("%d",-a[i]);
                    }
                }
            }
            puts("");
        }
        return 0;
    }
                
    
    
            
    

      

  • 相关阅读:
    Spring自动装配Bean
    Spring中Bean的作用域和生命周期
    Spring实例化Bean的三种方法
    Spring AOP详解
    Mybatis=====注解
    GBK和UTF-8文字编码的区别
    This Android SDK requires Android Developer Toolkit version 23.0.0 or above.
    问题:Unable to find a 'userdata.img' file for ABI armeabi to copy into the AVD folder.
    Ubuntu 系统下可以做什么?
    C语言结构体数组内带字符数组初始化和赋值
  • 原文地址:https://www.cnblogs.com/zero-begin/p/4515446.html
Copyright © 2011-2022 走看看