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;
    }
                
    
    
            
    

      

  • 相关阅读:
    Java实现“睡排序”——线程池Executors的使用
    浅谈HashMap与线程安全 (JDK1.8)
    Ubuntu 16 Java Develop环境快速搭建
    Spring Boot在反序列化过程中:jackson.databind.exc.InvalidDefinitionException cannot deserialize from Object value
    Java 8 – Map排序
    vue指令优化网络图片加载速度
    如何实现小于12px的字体效果
    两种以上方式实现已知或者未知宽度的垂直水平居中
    C# winform窗体间传值(使用委托或事件)
    C#栈Stack的使用
  • 原文地址:https://www.cnblogs.com/zero-begin/p/4515446.html
Copyright © 2011-2022 走看看