[问题2014A01] 解答二(后 n-1 列拆分法,由郭昱君同学提供)

\[|A|=\begin{vmatrix} 1 & x_1^2-ax_1 & x_1^3-ax_1^2 & \cdots & x_1^n-ax_1^{n-1} \\ 1 & x_2^2-ax_2 & x_2^3-ax_2^2 & \cdots & x_2^n-ax_2^{n-1} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & x_n^2-ax_n & x_n^3-ax_n^2 & \cdots & x_n^n-ax_n^{n-1} \end{vmatrix}.\]

从第二列开始,每一列都可记做 “1” 和 “2” 两个部分,分别对后 \(n-1\) 列进行拆分,共可拆成 \(2^{n-1}\) 个行列式之和. 我们来考虑拆分出来的这些行列式,假设第 \(i\) 列是从左至右第一个选择 “1” 的列,由行列式的性质,要使拆分出来的行列式非零,则第 \(i+1,\cdots,n\) 列都要选择 “1”,此时前面的第 \(2,\cdots,i-1\) 列都是选择 “2”,因此每一列都可以提取公因子 \(-a\),行列式可提取出 \((-a)^{i-1}\). 根据上面的分析,可得

\[|A|=\begin{vmatrix} 1 & x_1^2 & x_1^3 & \cdots & x_1^n \\ 1 & x_2^2 & x_2^3 & \cdots & x_2^n \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & x_n^2 & x_n^3 & \cdots & x_n^n \end{vmatrix}+(-a)\begin{vmatrix} 1 & x_1 & x_1^3 & \cdots & x_1^n \\ 1 & x_2 & x_2^3 & \cdots & x_2^n \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & x_n & x_n^3 & \cdots & x_n^n \end{vmatrix}\]

\[+\cdots+(-a)^{n-1}\begin{vmatrix} 1 & x_1 & x_1^2 & \cdots & x_1^{n-1} \\ 1 & x_2 & x_2^2 & \cdots & x_2^{n-1} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & x_n & x_n^2 & \cdots & x_n^{n-1} \end{vmatrix}.\]

把 \(|A|\) 看成是按第一行进行展开的 \(n+1\) 阶行列式,有

\[|A|=\begin{vmatrix} 0 & -1 & -a & \cdots & -a^{n-1} \\ 1 & x_1 & x_1^2 & \cdots & x_1^n \\ 1 & x_2 & x_2^2 & \cdots & x_2^n \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1 & x_n & x_n^2 & \cdots & x_n^n \end{vmatrix}.\]

当 \(a\neq 0\) 时,我们有 (接下去的一步是按第一列进行拆分):

\[|A|=-\frac{1}{a}\begin{vmatrix} 1+(-1) & a & a^2 & \cdots & a^n \\ 1+0 & x_1 & x_1^2 & \cdots & x_1^n \\ 1+0 & x_2 & x_2^2 & \cdots & x_2^n \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1+0 & x_n & x_n^2 & \cdots & x_n^n \end{vmatrix}\]

\[=-\frac{1}{a}\Big(\prod_{1\leq i<j\leq n}(x_j-x_i)\prod_{i=1}^n(x_i-a)-\prod_{1\leq i<j\leq n}(x_j-x_i)\prod_{i=1}^nx_i\Big)\]

\[=\frac{1}{a}\prod_{1\leq i<j\leq n}(x_j-x_i)\Big(\prod_{i=1}^nx_i-\prod_{i=1}^n(x_i-a)\Big).\]

当 \(a=0\) 时,可用升阶法和 Vander Monde 行列式求出

\[|A|=\prod_{1\leq i<j\leq n}(x_j-x_i)\Big(\sum_{i=1}^nx_1\cdots\hat{x}_i\cdots x_n\Big).\quad\Box\]

[问题2014A01] 解答二(后 n-1 列拆分法,由郭昱君同学提供)的更多相关文章

  1. [问题2014A01] 解答一(第一列拆分法,由张钧瑞同学提供)

    [问题2014A01] 解答一(第一列拆分法,由张钧瑞同学提供) (1)  当 \(a=0\) 时,这是高代书复习题一第 33 题,可用升阶法和 Vander Monde 行列式来求解,其结果为 \[ ...

  2. [问题2014A01] 解答三(升阶法,由董麒麟同学提供)

    [问题2014A01] 解答三(升阶法,由董麒麟同学提供) 引入变量 \(y\),将 \(|A|\) 升阶,考虑如下行列式: \[|B|=\begin{vmatrix} 1 & x_1-a & ...

  3. [问题2014A02] 解答二(求和法+拆分法,由张诚纯同学提供)

    [问题2014A02] 解答二(求和法+拆分法,由张诚纯同学提供) 将行列式 \(|A|\) 的第二列,\(\cdots\),第 \(n\) 列全部加到第一列,可得 \[ |A|=\begin{vma ...

  4. PHP微信支付开发之扫描支付(模式二)后如何回调

    其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索"微信支付开发之扫描支付(模式二)后如何回调"寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分 ...

  5. C/C++遍历二维数组,列优先(column-major)比行优先(row-major)慢,why?

    C/C++遍历二维数组,列优先(column-major)比行优先(row-major)慢,why? 简单粗暴的答案:存在Cache机制! 稍微啰嗦一点:CPU访问内存(读/写,遍历数组的话主要是读) ...

  6. [问题2014A02] 解答一(两次升阶法,由张钧瑞同学、董麒麟同学提供)

    [问题2014A02] 解答一(两次升阶法,由张钧瑞同学.董麒麟同学提供) 将原行列式 \(|A|\) 升阶,考虑如下 \(n+1\) 阶行列式: \[|B|=\begin{vmatrix} 1 &a ...

  7. ACM题目————列变位法解密

    这是在百度之星看到的. Problem Description 列变位法是古典密码算法中变位加密的一种方法,具体过程如下 将明文字符分割成个数固定的分组(如5个一组,5即为密钥),按一组一行的次序整齐 ...

  8. pandas 将excel一列拆分成多列重新保存

    利用pd.read_excel   做到将第二列“EVT-LBL”按“-”分割后重新加三列在df后面 1 读取表格df 2. 分割第二列短横连接的数字,保存到df2---- 参考:str.spilt( ...

  9. ACM学习历程—BestCoder 2015百度之星资格赛1002 列变位法解密(vector容器)

    Problem Description 列变位法是古典密码算法中变位加密的一种方法,具体过程如下 将明文字符分割成个数固定的分组(如5个一组,5即为密钥),按一组一行的次序整齐排列,最后不足一组不放置 ...

随机推荐

  1. mysql导出导入

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表 ...

  2. bash 中的变量

    bash 中的变量 Linux command line 笔记 变量无需声明,自动创建 var=abc #变量a赋值为字符串abc var="hello world" #字符串里有 ...

  3. 利用html5调用本地摄像头拍照上传图片

    这个是前台HTML的代码. <div id="contentHolder"> <video id="video" width="32 ...

  4. GDC2016 Epic Games【Bullet Train】 新风格的VR-FPS的制作方法

    追求“舒适”和“快感”的VR游戏设计方法   http://game.watch.impress.co.jp/docs/news/20160318_749016.html     [Bullet Tr ...

  5. 推荐《HeadFirst设计模式》

    相对于国内初版的<大话设计模式>,HeadFirst真的是更好的选择,虽然看起来很厚.很吓人,但对于初学者而言浅显易懂.直击要点,即使对设计模式熟悉的同学去读这本书相信也有很大的收获.用了 ...

  6. 分割excel sheet

    Sub split_sheet() '输入用户想要拆分的工作表 Dim sheet_name sheet_name = Application.InputBox("请输入拆分工作表的名称:& ...

  7. 几个常见Win32 API函数

    1.获取客户区矩形区域 RECT cliRect; GetClientRect(hWnd, &cliRect); 2.获取窗口上下文句柄 HDC hdc = GetDC(hWnd);//... ...

  8. iOS cocospods Updating local specs repositories

    pod install --verbose --no-repo-update (在安装的时候) pod update --verbose --no-repo-update (在更新库的时候) 如果长时 ...

  9. 白话学习MVC(八)Action的执行二

    一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇 ...

  10. JAVA Math类

    public class MathTest{ public static void main(String[] args)  {  /*---------下面是三角运算---------*/  //将 ...