高中数学中的奇技淫巧
part1
先把zc挖的坑填了
证明\(C^k_n\in\mathbb{Z}\)
法一:
总所周知组合数满足递推式\(C_n^k=C_{n-1}^{k-1}+C_{n-1}^{k}\)(考虑第\(n\)项选不选)
那么由于\(C_1^0=C^1_1=1\in\mathbb{Z}\),所以由数学归纳法得,他们推出来的任意项都是整数
法二(猛男算法):
先介绍一个玩意,
\(\lfloor\frac{q}{p}\rfloor\)表示对于分数\(\frac{q}{p}\)向下取整,如\(\lfloor\frac{13}{5}\rfloor=\lfloor2.6\rfloor=2\)
考虑组合数公式:
\[C_n^k=\frac{n!}{k!(n-k)!} \]相当于分子\(n!\)要被\(k!(n-k)!\)整除
考虑对于小于\(k\)的所有质数\(p_i\),我们试图证明分子中\(p_i\)的因子个数大于分母的
那么问题就转化为如何求\(1\cdots n\)中\(p_i\)因子个数和
考虑有至少有一个\(p_i\)因子的数,他们是\(p_i,2p_i,\dots,\lfloor\frac{n}{p_i}\rfloor p_i\),总共\(\lfloor\frac{n}{p_i}\rfloor\)个,
至少有两个\(p_i\)因子的数,他们是\(p_i^2,2p_i^2,\dots,\lfloor\frac{n}{p_i^2}\rfloor p_i^2\),总共\(\lfloor\frac{n}{p_i^2}\rfloor\)个,
\(\dots\)
那么\(1\dots n\)中总共就有这么多个\(p_i\)
\[\sum_{j=1,p_i^j\leq n}\lfloor\frac{n}{p_i^j}\rfloor \]所以分子中\(p_i\)的个数为:
\[\sum_{j=1,p_i^j\leq n}\lfloor\frac{n}{p_i^j}\rfloor \]分母中为:
\[\sum_{j=1,p_i^j\leq n}\lfloor\frac{k}{p_i^j}\rfloor+\lfloor\frac{n-k}{p_i^j}\rfloor \]注意到\(\lfloor\frac{n}{p_i^j}\rfloor\geq\lfloor\frac{k}{p_i^j}\rfloor+\lfloor\frac{n-k}{p_i^j}\rfloor\)
这是因为:
令
\[n=t_np_i^j+h_n\\ k=t_kp_i^j+h_k\\ n-k=t_{n-k}p_i^j+h_{n-k}\\ (h\in[0,p_i^j-1]) \]而
\[n=k+(n-k) \]所以
\[t_np_i^j+h_n=t_kp_i^j+h_k+t_{n-k}p_i^j+h_{n-k}\\ =(t_k+t_{n-k})p_i^j+(h_n+h_{n-k}) \]当\(h_n+h_{n-k}\geq p_i^j\)时
\[t_n=t_k+t_{n-k}+1 \]所以有
\[\lfloor\frac{n}{p_i^j}\rfloor\geq\lfloor\frac{k}{p_i^j}\rfloor+\lfloor\frac{n-k}{p_i^j}\rfloor \]所以,对于任意一个质因子,分子中的个数总是大于分母中的,那么这个玩意就是个整数。
part2
解析几何和不等式中的奇技淫巧
隐函数
对于解析几何来说,用隐函数可以很方便地求得曲线在某一点切线的斜率:
我们知道,一个等式可以描述一条曲线
椭圆:
\[\frac{x^2}{a^2}+\frac{y^2}{b^2}-1=0 \]双曲线:
\[\frac{x^2}{a^2}-\frac{y^2}{b^2}-1=0 \]以椭圆举例,我们假设\(y\)可以写成关于自变量\(x\)的函数\(y(x)\)
即
\[\frac{x^2}{a^2}+\frac{y(x)^2}{b^2}-1=0 \]等式两边同时对\(x\)求导:
\[\frac{2}{a^2}x+\frac{2}{b^2}y(x)y'(x)=0 \]化一化简:
\[y'(x)=-\frac{b^2x}{a^2y(x)} \]所以说,椭圆在\(x_0\)处的斜率就为\(y'(x_0)=-\frac{b^2x_0}{a^2y(x_0)}\),
跟中点弦的斜率一毛一样,这是因为当曲线上两个点不断靠近时,两点之间斜率就退化为切线的斜率了
类似的,可以很方便地得到二次曲线中某一点切线的斜率,这就是所谓的隐函数。
不等式
猛男就要大力解
这里提供大部分不等式题的暴力做法
首先引入一个概念,偏导数,说白了,就是对于多元函数中将一个变量看作变量,其他变量看为常数再求导
eg:
\[f(x,y)=x^2+2y^2+2xy \]那么对于\(x\)来说,偏导数\(\frac{\part f}{\part x}=2x+2y\),对于\(y\)来说,偏导数\(\frac{\part f}{\part y}=4y+2x\)
这玩意有啥用呢?
我们知道,当函数只有一个变量的时候,函数在区间上的最大/最小值只会在边界或是导数等于\(0\)时取得
那么,对于多元的函数来说
取得极值的点的一个必要条件就会是边界或是对于所有变量的偏导数为\(0\)的点了(类比一元函数)
此时我们只需要将所有解带入比较即可
eg:
求\(f(x,y)=2x^2+y^2-2xy-2x+3\)的最小值
对\(x,y\)求导:
\[\frac{\part f}{\part x}=4x-2y-2\\ \frac{\part f}{\part y}=2y-2x \]让他们同时为\(0\),即:
\[\begin{cases} 4x-2y-2=0\\ 2y-2x=0 \end{cases} \]解得:
\[x=y=1 \]那么\(f(x,y)\)的最小值为\(f(1,1)=2\)
不过,实际情况我们一般不会碰到这种题,更常见的是给一个约束条件\(g(x,y)=0\)再让我们求\(f(x,y)\)的极值
这时就可以用拉格朗日乘子法(大力出奇迹)来算了,具体证明有机会再写,这里只提供一个好使的结论。
对于约束\(g(x,y)=0\),求\(f(x,y)\)的极值:
构造函数
\[h(x,y)=f(x,y)+\lambda g(x,y) \]方程组为:
\[\begin{cases} \frac{\part h(x,y)}{\part x}=0\\ \frac{\part h(x,y)}{\part y}=0\\ g(x,y)=0 \end{cases} \]解出来的\(x,y\)就是可能的极值点,记得与边界条件相比较
eg:
求当\(2^a+2^b=1\)时,\(a+b\)的最大值。
令\(h(a,b)=a+b+\lambda(2^a+2^b-1)\),
方程为:
\[\begin{cases} 1+\lambda\ln2\cdot 2^a=0\\ 1+\lambda\ln2\cdot 2^b=0\\ 2^a+2^b-1=0 \end{cases} \]将\(3\)式带入\(1+2\)式中,可解得:
\[\begin{cases} \lambda=-\frac{2}{\ln2}\\ a=-1\\ b=-1 \end{cases} \]那么\(a+b\)的极值就在\(a=b=-1\)处取得,\(a+b=-2\)
用这个方法可以大概率暴算出有约束条件下的极值只要你能大力算。