已知实数$a,b,x,y$满足
\begin{equation}
\left\{ \begin{aligned}
ax+by &= 3 \\
ax^2+by^2&=7\\
ax^3+by^3&=16\\
ax^4+by^4&=42\\
\end{aligned} \right.
\end{equation}
求$ax^5+by^5$的值.


解答:设$a_n=ax^n+by^n$
则$x,y$是二阶齐次线性递推数列$a_{n+2}+pa_{n+1}+qa_n=0$ 的特征方程$t^2+pt+q=0$ 的两个特征根.
代入$a_1=3,a_2=7,a_3=16,a_4=42$得$p=14,q=-38$故$a_5++14a_4-38a_3=0,a_5=20$

练习:
已知
\begin{equation}
\left\{ \begin{aligned}
x+y+z &= 1 \\
x^2+y^2+z^2&=2\\
x^3+y^3+z^3&=3\\
\end{aligned} \right.
\end{equation}
求$x^5+y^5+z^5$的值

解答:设$a_n=x^n+y^n+z^n$
则$x,y,z$是三阶齐次线性递推数列$a_{n+3}+pa_{n+2}+qa_{n+1}+ra_n=0$ 的特征方程$t^3+pt^2+qt+r=0$ 的三个特征根.
由韦达定理\begin{equation}
\left\{ \begin{aligned}
x+y+z &= -p \\
xy+yz+zx&=q\\
xyz&=-r\\
\end{aligned} \right.
\end{equation}
结合恒等式

$(x+y+z)^2=x^2+y^2+z^2+2(xy+yz+zx)$

$x^3+y^3+z^3-3xyz=(x+y+z)(x^2+y^2+z^2-xy-yz-zx)$

易得$p=-1,q=-\dfrac{1}{2},r=-\dfrac{1}{6}$
故$a_{n+3}-a_{n+2}-\dfrac{1}{2}a_{n+1}-\dfrac{1}{6}a_n=0$结合$a_1=1,a_2=2,a_3=3$易得$a_5=6$

MT【313】特征方程逆用的更多相关文章

  1. MT【141】逆用特征根法

    (清华大学THUSSAT) 已知 \(a=\left( \dfrac{-1+\sqrt{5}}{2} \right)^{-10}+\left( \dfrac{-1-\sqrt{5}}{2} \righ ...

  2. EF中逆变和协变

    EF中的增删改查: 实现步骤: 1.声明一个EF的上下文. bjhksjEntities dbContext = new bjhksjEntities(); 2.声明一个实体. HKSJ_USERS ...

  3. hdu 5730 Shell Necklace [分治fft | 多项式求逆]

    hdu 5730 Shell Necklace 题意:求递推式\(f_n = \sum_{i=1}^n a_i f_{n-i}\),模313 多么优秀的模板题 可以用分治fft,也可以多项式求逆 分治 ...

  4. hdu 5730 Shell Necklace——多项式求逆+拆系数FFT

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5730 可以用分治FFT.但自己只写了多项式求逆. 和COGS2259几乎很像.设A(x),指数是长度,系数 ...

  5. C#4.0泛型的协变,逆变深入剖析

    C#4.0中有一个新特性:协变与逆变.可能很多人在开发过程中不常用到,但是深入的了解他们,肯定是有好处的. 协变和逆变体现在泛型的接口和委托上面,也就是对泛型参数的声明,可以声明为协变,或者逆变.什么 ...

  6. javascript:逆波兰式表示法计算表达式结果

    逆波兰式表示法,是由栈做基础的表达式,举个例子: 5 1 2 + 4 * + 3 -  等价于   5 + ((1 + 2) * 4) - 3 原理:依次将5 1 2 压入栈中, 这时遇到了运算符 + ...

  7. .NET中的逆变协变

    MSDN上的说法: 协变和逆变都是术语,前者指能够使用比原始指定的派生类型的派生程度更小(不太具体的)的类型,后者指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类型----------(注 ...

  8. [LeetCode] Evaluate Reverse Polish Notation 计算逆波兰表达式

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  9. 【CQOI2011】动态逆序对 BZOJ3295

    Description 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计 ...

随机推荐

  1. scrollTo不起作用

    最近,我在HorizontalScrollview中使用scrollTo不起作用? ...... 以上省略N个字. 我只想说: 在使用scrollTo的时候,要先保证该HorizontalScroll ...

  2. Valgrind.Callgrind使用

    Callgrind介绍 用来对统计程序的函数调用之间的关系, 并统计每个函数的耗时 Callgrind之所以能够发现函数调用的关系, 依赖于平台的明确返回和调用指令. 在x86和amd64平台上wor ...

  3. MVP模式, 开源库mosby的使用及代码分析

    Android中的构架模式一直是一个很hot的topic, 近年来Architecture components推出之后, MVVM异军突起, 风头正在逐渐盖过之前的MVP. 其实我觉得MVP还是有好 ...

  4. Eclipse插件开发教程-插件的导出和安装应用

    Eclipse插件可以给开发人员提供不少便利,在很多场景下,插件甚至是必不可少的.那么怎么自己开发一个插件呢?前面两篇讲了怎么开发插件,那么开发完了Eclipse插件之后,怎么使用呢?下面就讲讲插件的 ...

  5. C#与SQL Server数据库连接

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. c/c++ 多线程 等待一次性事件 std::promise用法

    多线程 等待一次性事件 std::promise用法 背景:不是很明白,不知道为了解决什么业务场景,感觉std::async可以优雅的搞定一切的一次等待性事件,为什么还有个std::promise. ...

  7. c/c++ 多线程 unique_lock的使用

    多线程 unique_lock的使用 unique_lock的特点: 1,灵活.可以在创建unique_lock的实例时,不锁,然后手动调用lock_a.lock()函数,或者std::lock(lo ...

  8. git 初探

    1,创建GIT代码仓库 git init 2,添加修改到缓存区 git add filename 3,提交缓存区的修改 git commit -m "任意文字(便于自己记忆)" 4 ...

  9. 二叉搜索树的最近公共祖先的golang实现

    给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先且 x ...

  10. kernel笔记——VFS

    vfs(the virtual filesystem, virtual file switch)为应用程序访问文件提供了统一的接口,如read.write.open等. 下面我们看加载文件系统模块.格 ...