什么是切比雪夫多项式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是切比雪夫多项式?相关的知识,希望对你有一定的参考价值。
cos(0t) = 1cos(1t) = cost
cos(2t) = 2cos^2t - 1
cos(3t) = 4cos^3t - 3cost
...
可以看出cos(nt)可以表示成cost的n次多项式,这个n次多项式就叫n次Chebyshev多项式 参考技术A 切比雪夫多项式是与棣美弗定理有关,以递归方式定义的一系列正交多项式序列。 通常,第一类切比雪夫多项式以符号Tn表示, 第二类切比雪夫多项式用Un表示。切比雪夫多项式 Tn 或 Un 代表 n 阶多项式。
切比雪夫多项式在逼近理论中有重要的应用。这是因为第一类切比雪夫多项式的根(被称为切比雪夫节点)可以用于多项式插值。相应的插值多项式能最大限度地降低龙格现象,并且提供多项式在连续函数的最佳一致逼近。
BZOJ 3170 & 切比雪夫距离
题意:
给出N个点,在这N个点中选一个点使其它的点与这个点的切比雪夫距离和最小.
SOL:
TJOI真是...厚道还是防水...这种题目如果知道切比雪夫距离是什么那不就是傻逼题...如果不知道那不就懵逼了么...
与随意选点不同,这种给定点中选与x,y轴还是有一定关系的.所以我们要像树上搞那什么最小距离一样搞这种东西.然后就....
CODE:
/*========================================================================== # Last modified: 2016-03-04 19:52 # Filename: 3170.cpp # Description: ==========================================================================*/ #define me AcrossTheSky #include <cstdio> #include <cmath> #include <ctime> #include <string> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector> #define lowbit(x) (x)&(-x) #define FOR(i,a,b) for((i)=(a);(i)<=(b);(i)++) #define FORP(i,a,b) for(int i=(a);i<=(b);i++) #define FORM(i,a,b) for(int i=(a);i>=(b);i--) #define ls(a,b) (((a)+(b)) << 1) #define rs(a,b) (((a)+(b)) >> 1) #define getlc(a) ch[(a)][0] #define getrc(a) ch[(a)][1] #define maxn 130000 #define maxm 130000 #define pi 3.1415926535898 #define _e 2.718281828459 #define INF 1070000000 using namespace std; typedef long long ll; typedef unsigned long long ull; template<class T> inline void read(T& num) { bool start=false,neg=false; char c; num=0; while((c=getchar())!=EOF) { if(c==‘-‘) start=neg=true; else if(c>=‘0‘ && c<=‘9‘) { start=true; num=num*10+c-‘0‘; } else if(start) break; } if(neg) num=-num; } /*==================split line==================*/ struct Infor{ double x,y; int id; }p[maxn]; double ans[maxn]; int cmpx(Infor a,Infor b){return a.x<b.x;} int cmpy(Infor a,Infor b){return a.y<b.y;} int main(){ int n; read(n); double sumx=0,sumy=0; FORP(i,1,n) { double x,y; scanf("%lf%lf",&x,&y); p[i].x=(x+y)/2.0; p[i].y=(x-y)/2.0; p[i].id=i; sumx+=p[i].x; sumy+=p[i].y; } sort(p+1,p+1+n,cmpx); double temp=0; FORP(i,1,n){ //int t=p[i].x-p[i-1].x; ans[p[i].id]+=((i-1)*p[i].x)-temp; ans[p[i].id]-=((n-i+1)*p[i].x-(sumx-temp)); temp+=p[i].x; } sort(p+1,p+1+n,cmpy); temp=0; FORP(i,1,n){ ans[p[i].id]+=(i-1)*p[i].y-temp; ans[p[i].id]-=((n-i+1)*p[i].y-(sumy-temp)); temp+=p[i].y; } double out=ans[1]; FORP(i,1,n) out=min(out,ans[i]); printf("%.0lf\n",out); }
以上是关于什么是切比雪夫多项式?的主要内容,如果未能解决你的问题,请参考以下文章