[问题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. iOS CUICatalog: Invalid asset name supplied: (null)

    iOS开发出现CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000 原因: 你用了这个方 ...

  2. javascript基础笔记

    1.获取元素:                 var box=document.getElementById("box");2.改变元素内容:                 b ...

  3. Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC

    Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha     加密解密,曾经是我一 ...

  4. 利用Columnal网格系统快速搭建网站的基本布局结构

    1.下面是一些对响应式设计提供了不同程度支持的CSS框架: (1)Semantic(http://semantic.gs); (2)Skeleton(http://getskeleton.com); ...

  5. SQL语句中count(1)count(*)count(字段)用法的区别

    SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和cou ...

  6. 给RecyclerView实现的GridView加上HeaderView和FooterView

    给RecyclerView设置布局管理器 GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); 写适配器,添加子项 ...

  7. 问题解决(一)在ipad上通过safari浏览文档

    项目背景 针对用Sencha touch 1.1开发的一个用于通过ipad浏览的网站(其实是对PC端一个网站的映射)中的一个模块的开发,这个模块的主要功能就是用户浏览各种‘报告’,这些被阅览的‘报告’ ...

  8. C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别

    1.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); 2.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; 3. ...

  9. iOS小技巧3

    将颜色合成图片 将颜色合成图片 +(UIImage *)imageWithColor:(UIColor *)color { CGRect rect = CGRectMake(0.0f, 0.0f, 1 ...

  10. Windows Server 2008 R2 创建辅助DNS服务器并接管主要DNS服务器

    公司需求: Zhuyu公司局域网有一台主要DNS服务器,经领导讨论需要规划安装一台辅助DNS服务器备用. 功能需求: 当主要DNS服务器宕机或系统崩溃,辅助DNS服务器能接管主要DNS服务器工作,并且 ...