排序不等式的推广,对于任意两个数列的推广
设有函数f(x),g(x), 存在两个递增序列
{f(x1),f(x2), f(x3) ..... , f(xn)}
{g(x1), g(x2), g(x3), .....,g(xn)}
x1,x2,xn为等差数列
对于某个序列离散之积的和Sum(T)
sum(T) =
索引和 indexSum(T) =
猜想:在什么条件下,indexSum(T1) < indexSum(T2), 可以推出 sum(T1) < sum(T2)
看最简单情况:
设f(x) = g(x) = kx + b
根据定义xn = kn+b
xixj = (ki+b)(kj+b) = k*k *i*j + kb(i+j) + b*b
当i,j分别取遍1到n,并一一对应
indexSum(T) =
Sum(T) = = k*k (indexSum(T) =
)+ 2nkb + n b*b
即Sum(T)和 indexSum(T)为线性关系
所以
如果indexSum(T1) < indexSum(T2), 那么 sum(T1) < sum(T2)
推导到f(x),g(x) 为等差数列,有此不等式
此时推广到多项式
f(x) = ap * x^p + ap-1 *x^p-1 +...+ a1*x + a0
g(x) = bq * x^q + bq-1 *x^q1 +...+ b1*x + b0
Sum(T) = = U( indexSum(T)) + 常数
Sum(T)和U(indexSum(T))为多项式关系
对于非多项式,我们可以用泰勒展开。
如果Sum(T) = U( indexSum(T)) + 常数
如果U是递增的,我们就可以知道命题是对的
之前我有一篇把离散数字抽象为连续函数的文章,对于任意两个数组相乘,对于特殊的函数,我们都能在n!个排序和中只用O(n²)求出该乘积和排在第几名,成功将