[问题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. MyEclipse不能重新发布的解决方案

    myeclipse2015已发布项目上右键clear不重新发布的解决方案: 该项目在server.xml中没有设置自动发布reloadable="true"

  2. 关于svn的使用

    svn听课笔记 1. 下载并安装svn2. 将svn安装目录中bin目录添加到用户path变量中.3. 创建svn根目录svnroot4. 启动svn服务 在dos启动命令: svnserve -d ...

  3. matlab函数bwareaopen的详解

    matlab函数_连通区域 1. matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下 ...

  4. 【iCore3 双核心板_ uC/OS-III】例程四:时间管理

    实验指导书及代码包下载: http://pan.baidu.com/s/1pKWKuBT iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  5. 今天Apple证书更新,提供 "证书的签发者无效" 解决办法

    首先 下载苹果新证书 developer.apple.com/certificationauthority/AppleWWDRCA.cer 然后在"钥匙串访问"中  "显 ...

  6. mysql笔记(存储引擎)

    读写锁:. 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最低,并发度也最高. 页面锁:开销和 ...

  7. 当select框变化时 获取select框中被选中的值

    DOM <select name="course"> <option value="1">1</option> <op ...

  8. C/C++相对论——C++中为什么要使用异常(跳转语句会造成对象没有被析构)

    C++中为什么要使用异常? 很多人也许知道C++中的异常机制,很多人也许不知道.很多人知道C中常用的assert,也知道在编译时候指定NODEBUG来忽略它. 对于C语言,使用正常的if-else即是 ...

  9. ultraedit正则使用

    下面是从UltraEdit文档中摘录的语法说明: 正则表达式 (UltraEdit 语法): 符号 功能 % 匹配行首 – 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符. $ 匹 ...

  10. change和onchange触发为什么不立马生效?

    change和onchange触发了,为什么不立马生效?那是因为他们本身不是当文本改变就立马触发的事件,而是当文本改变了,blur离开了表单才触发. 如果要加上触发请结合keyup,keydown,o ...