2014上海全国邀请赛1006(hdu 5095)
2014-11-02 23:52
465 查看
Linearization of the kernel functions in SVM
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 78 Accepted Submission(s): 63
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
题意:直接看样例就能明白题意。
做法:主要要考虑1,-1的情况,0的情况,最前的那个数,如果为正数不用输出+。
#include <iostream> #include <cstdio> #include <climits> #include <cstring> #include <cstdlib> #include <cmath> #include <vector> #include <queue> #include<map> #include <algorithm> #include<ctime> #define esp 1e-6 #define LL unsigned long long #define inf 0x0f0f0f0f using namespace std; char fh[20]={"pqruvwxyz"}; int main() { int t; int i,flag,j; int num[105]; scanf("%d",&t); while(t--) { flag=0; for(i=0;i<=9;i++) scanf("%d",&num[i]); for(i=0;i<=9;i++) { if(num[i]!=0) { j=i; break; } } if(j==9||i==10) { printf("%d\n",num[9]); continue; } if(num[j]==1) printf("%c",fh[j]); else if(num[j]==-1) printf("-%c",fh[j]); else { if(num[j]>0) printf("%d%c",num[j],fh[j]); if(num[j]<0) printf("%d%c",num[j],fh[j]); } for(i=j+1;i<=8;i++) { if(num[i]==1) printf("+%c",fh[i]); else if(num[i]==-1) printf("-%c",fh[i]); else { if(num[i]>0) printf("+%d%c",num[i],fh[i]); if(num[i]<0) printf("%d%c",num[i],fh[i]); } } if(num[9]>0) printf("+"); if(num[9]!=0) printf("%d",num[9]); printf("\n"); } }
相关文章推荐
- hdu 5090 Game with Pearls 2014上海全国邀请赛——题目重现
- 2014上海全国邀请赛1003(hdu 5092)
- HDU 5097 Page Rank(矩阵模拟)——2014上海全国邀请赛——题目重现(感谢上海大学提供题目)
- hdu 5092 Seam Carving 2014上海全国邀请赛——题目重现
- 【HDU】2014上海全国邀请赛——题目重现(感谢上海大学提供题目) 题解
- 2014上海全国邀请赛1010(hdu 5099)
- 2014上海全国邀请赛1001(hdu 5090)
- 2014上海全国邀请赛(hdu 5090 - 5099)dp+线段树+拓扑排序+bfs(状态压缩)
- HDU5099——Comparison of Android versions(简单题)(2014上海邀请赛重现)
- HDU 5093Battle ships(2014上海邀请赛)
- HDU5092——Seam Carving(动态规划+回溯)(2014上海邀请赛重现)
- hdu 5047 Sawtooth--2014acm上海赛区邀请赛(附java模板)
- HDU 5095 Linearization of the kernel functions in SVM (上海邀请赛水题)
- HDU5095 Linearization of the kernel functions in SVM && 2014上海全国邀请赛
- 2014上海全国邀请赛题解 HDOJ 5090-5099
- 2014上海全国邀请赛 解题报告
- hdu 4850 Wow! Such String! 2014西安全国邀请赛
- 2014上海全国邀请赛 解题报告
- [HDU 4848][2014西安全国邀请赛]Wow! Such Conquering!
- Comparison of Android versions(2014上海全国邀请赛)