bzoj#P3151. [CTSC2013]因式分解
[CTSC2013]因式分解
题目描述
通过代数基本定理,我们知道若计算重根,一个 次的多项式在复数域内恰好有 个零点(函数值为 的点)。现给定一个整系数多项式 ,它的 个零点恰好都是有理数(即可以写成两个整数相除的形式);同时,若我们把它所有的非零零点(函数自变量不为 ,函数值为 )去重,则可以得到 个互不相同的非零零点,其中第 个非零零点可以被表示成下式:
式中 表示第 个零点的符号, 和 为互质的两个正整数。
现在告诉你 ,要求你输出将他因式分解后的形式。
输入格式
输入只有一行,包含多项式 。
多项式一定是如下的形式:
次数一定为从高到低,其中 为整数,并且若 为 ,则省略该项,若 为负数,则省略之前的加号,若 的绝对值为 且 不为 ,则不输出 ,并且保证 不为 。
详见样例输入。
输出格式
输出一行,表示因式分解后的形式,格式如下: $a_n(x+u_1/v_1)^{t_1}(x+u2/v2)^{t_2}\cdots(x+u_s/v_s)^{t_s}$
其中 互质,且 为正整数。
其中 从大到小排列,若 则该项为 ,若 为负数,则省略加号,若 为 ,则省略 。
若 为 则省略 。
若 为 则将 省略。
详见样例输出。
样例输入 #1
8x^7-258x^5+2112x^3-512x
样例输出 #1
8(x-4)^2(x-1/2)x(x+1/2)(x+4)^2
样例输入 #2
-x^2+2x-1
样例输出 #2
-(x-1)^2
数据规模与约定
测试点编号 | 多项式最高次数 | 互异零点数 | 系数范围(绝对值) |
---|---|---|---|
满足:
$$\prod_{i=1}^r p_i\le 10^6,\prod_{i=1}^r q_i\le 10^6 $$