码迷,mamicode.com
首页 > 其他好文 > 详细

论 <解方程>

时间:2019-07-09 19:41:52      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:sqrt   参数   解法   假设   rac   要求   line   nlog   时间复杂度   

题面:
求n次整系数方程\(\sum_{i=1}^{n} a_ix^i = 0\)在区间\([1,m]\)上的整数

解法:

1.暴力

O(NM) 暴力枚举+解方程

2.假设只要求一个解

瞎搞做法

引入参数T,选取T的整数倍作为标志点,在两个标志点间用勘根

时间复杂度O(\frac{T}{M} \time T) , 取\(T = \sqrt{M}\)时最优

3.假设\(a_i\)很小

由整数方程解的性质,设该解为\(\frac{p}{q}\),可得

  • \(q|a_1\)
  • \(p|a_n\)
  • \(q|p\)

做法1: 枚举\(a_i\)的所有因子

做法2: 只用枚举a_1,a_n共有的所有质因子,降为\(O(log a_1)\)

那么总时间复杂度\(O(nloga_1+n)=O(nloga_1)\)

论 <解方程>

标签:sqrt   参数   解法   假设   rac   要求   line   nlog   时间复杂度   

原文地址:https://www.cnblogs.com/tyqtyq/p/11159343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!