01 2022 档案
摘要:对质数p 根据费马小定理 有a^(p-1)≡1(mod p)(其中的p-1是p的欧拉函数,见数论的欧拉定理) 则a*a^(p-2)≡1(mod p) a^(p-2)≡1/a(mod p) 即有,1/a(逆元)≡a^(p-2)(mod p)
阅读全文
摘要:0和1的排列转化为二维路径 C(n,2n)-C(n-1,2n)=C(n,2n)/(n+1)(卡特兰数)
阅读全文
摘要:一、高斯消元 对矩阵n*n*x=列向量n 枚举每一列(c+,r) 1、找到当前列绝对值最大的行(如果为0则下一列) 2、将当前行与1、中的行的元素交换 3、将当前行的当前列元素化为1 4、利用当前行的元素,将后面行的当前列的元素化为0(先枚举后面的行,后面的行的当前列元素不为0,则每个列都消) 5、
阅读全文
摘要:1、欧拉函数的定义是,φ(n)是1-n中与n互质的数的个数 对n分解质因数得p1^a1*p2^a2*...*pn^an, 则φ(n)=n*(1-1/p1)(1-1/p2)*...*(1-1/pn); 对多个数求欧拉函数,可以结合线性筛法,对每个质数和被筛到的数,都根据已经被循环到的数的φ计算 1 c
阅读全文
摘要:using namespace std; tuple<int,float,string> t1={1,2.2,"str"}; tuple<int,float,string> t1(1,2.2,"str");//直接初始化 cout<<get<0>(t1)<<get<1>(t1)<<get<2>(t1
阅读全文
摘要:课程中提供的,hash_val函数,输入参数为类的全部数据,返回值为std:stze_t的哈希值 1 2 template<class T> 3 inline void hash_combine(std::size_t & seed, const T & val){ 4 seed ^= hash<T
阅读全文
摘要:一、质数 质数是大于1的自然数,只包含1和本身两个约数。 1、质数的判定,O(sqrt(n)) 试除法,推荐循环i<=n/i(防止溢出和sqrt计算) 2、分解质因子,O(logn~sqrt(n)) 1 for(int i=2;i<=n/i;i++) 2 { 3 if(n%i==0) 4 {//此时
阅读全文
摘要:在栈上创建: MyClass a;//调用默认构造函数 MyClass a();//声明返回值为MyClass的函数a,不是创建对象 在堆上创建: 对于内置类型,加括号会初始化,不加括号不会初始化; 对自定义类型,都会调用默认构造函数,加不加没有区别。
阅读全文