1> for (auto p : primes)

这里边的p,代表着primes里边的元素;

如果元素是一个数,就可以直接引用;

如果元素是一个pair,需要p.first  p.second这样引用;

如果是结构体,需要按照结构那样引用

 

2>

y1和hash定义全局变量会有争议

一般使用放到局部变量,或者涉及到约数,使用prime[]数组名字

 

3>map或unordered_map插入的方法;

prime.insert(make_pair(a,b));

prime.emplace(a,b);

prime[a]=b;//prime[a]++;(如果不存在就是直接建一个空的,然后赋值)

 

4>map<string,ll>prime;

prime["2222"]=0;注意加引号

 

5>养成好习惯,两个int 变量相乘容易溢出,所以在两个整形相乘之前进行类型的强制转发

res=(ll)a*b

 

6>秦九韶算法:

 

*******秦九韶算法计算的次数就是最高位的次数,就是n次 

1>如果中间断了,就是没有连上,就认为系数是0,而且也要将这里的系数,写入数组当中。

2>如果最后没有到a0,而是到了a0*x^c,怎么计算。

可以先计算

 

 再计算ai*x^i+ai-1*x^i-1......+a0.这里也使用秦九韶算法进行计算

而且数组是按照数量级别从高到底进行排序,不可以将其中的0省略。

 

秦九韶算法的时间复杂度是O(n)

其实,如果说是系数相同的话,其实可以采用等比数列求和公式;

采用等比数列求和公式:

注意:1 时间的复杂度为O(logn)

          2 注意求逆元的时候,需要满足条件,以及求逆元的算法

          3 快速幂注意开long long 

         4 等比数列求和公式  a1(1-q^n)/1-q   注意他的q不可以等于1,需要特殊处理。

posted on 2022-08-22 17:56  浅唱\,,笑竹神易  阅读(26)  评论(0)    收藏  举报