[问题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. html只允许输入的数据校验,只允许输入字母汉字数字等

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Bootstrap (导航、标签、面包屑导航)

    导航 Bootstrap中可用的导航有相似的标记,用基类.nav开头,这是相似的部分.改变修饰类可以改变样式. <!DOCTYPE html> <html> <head& ...

  3. redis与memcache的区别2

    总结一: memcache官方定义 Free & open source, high-performance, distributed memory object caching system ...

  4. centos7下更改java环境

    1.上传下载的java包,如http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jre-8u77-linux-x64.rpm,目录可以自己定义一个 ...

  5. Unit06 - 抽象类、接口和内部类(下) 、 面向对象汇总

    Unit06 - 抽象类.接口和内部类(下) . 面向对象汇总 1.多态:  1)意义:    1.1)同一类型的引用指向不同的对象时,有不同的实现        行为的多态:cut().run(). ...

  6. Unit02-OOP-对象和类,数组(下)

    Unit02-OOP-对象和类,数组(下) 1.方法的签名: 方法名+参数列表 2.方法的重载(Overload):  1)发生在一个类中,方法名称相同,参数列表不同  2)编译器在编译时自动根据签名 ...

  7. iOS:融云即时通讯快速集成

    一.介绍 即时通讯在众多社交软件.生活软件以及教育软件中已经是必备的功能了,在当前国内,即时通讯SDK做的比较不错的有那么几家,例如环信SDK.融云SDK...,这两家做的都很不错,各有千秋吧,要是真 ...

  8. Android内存泄露

    Android 内存泄漏是一个十分头疼的事情.LeakCanary是一款开源软件,主要作用是检测 Android APP 内存泄露.比起以前的 MAT 工具,LeakCanary 有着十分强大的功能, ...

  9. Vue 双层嵌套

    这种的需要双层嵌套. 代码: <table id="ict-table" class="ict-table ict-report-table blue-theme& ...

  10. WCF服务接口多,客户端在引用时出错!报WCF The maximum nametable character count quota (16384) has been exceeded while reading XML data错误

    WCF服务接口多,客户端在引用时出错!报WCF The maximum nametable character count quota (16384) has been exceeded while ...