10 2021 档案

摘要:1.构造函数的优势 众所周知,在结构体内部可以定义变量、函数等,但结构体内部的变量有一个特点:无法被初始化。因此我们需要初始化变量时可以通过函数实现。 struct student{ string name; int score; void pre(){ name="Tom"; score=4; } 阅读全文
posted @ 2021-10-31 23:38 蔚蓝-星辰 阅读(3782) 评论(0) 推荐(2)
摘要:浅谈结构体内重载运算符 1.重载运算符的作用 对结构体类型的变量使用重载后的运算符代替成员函数完成一系列任务。当然,我们可以使用成员函数直接完成这些任务,但使用起来没有重载运算符后美观直接。 举个直观的例子:在实现高精度加减法时,如果你能直接用$c=a+b$表示高精度加法,是不是比$c=add(a, 阅读全文
posted @ 2021-10-31 23:37 蔚蓝-星辰 阅读(631) 评论(0) 推荐(1)
摘要:求最大公约数算法介绍 1.更相减损术 算法原理:欲求$a$和$b$的最大公约数,设$gcd(a,b)$为$m$,故$a$是$m$的倍数,$b$是$m$的倍数,则$a-b$自然也是$m$的倍数,故有$$gcd(a,b)=gcd(b,a-b)(假定a>b)$$ 当$b$变为0,则$a$便是我们所需求解的 阅读全文
posted @ 2021-10-30 20:35 蔚蓝-星辰 阅读(534) 评论(0) 推荐(0)
摘要:树状数组基础用法 阅读全文
posted @ 2021-10-30 19:54 蔚蓝-星辰 阅读(122) 评论(0) 推荐(0)
摘要:Miller–Rabin素数判断法是一种时间复杂度较优的算法,期望时间复杂度为O(logN)。但本身是一种不确定算法,存在误把合数判断为质数的可能。 算法原理介绍: 因此,对一个即将被判断的数n,判断步骤如下。 先用定理1进行判断,即判断是否成立。 如上式不成立,则n必不是质数,判断完毕。 如上式成 阅读全文
posted @ 2021-10-24 20:22 蔚蓝-星辰 阅读(233) 评论(0) 推荐(0)
摘要:算法介绍:欧拉筛法是在O(N)线性时间内实现素数筛选的优秀算法。 算法思路:总体上与Eratosthenes筛法类似,也是用较小的数筛去较大的合数。 关键思路在于:每一个合数都保证是被其最小的质因子筛去的,下简称称该条件为线性条件。 结合代码分析: inline void Euler_Sieve() 阅读全文
posted @ 2021-10-24 18:20 蔚蓝-星辰 阅读(1370) 评论(0) 推荐(0)
摘要:对于一维数组a[i](a[i]类型不为char),a表示数组的首地址,即a=&a[0]。 int a[10]; cout<<a<<endl; cout<<&a[0]<<endl;//两者相同,都表示数组a的首地址。 cout<<*a<<endl; cout<<a[0]<<endl;//两者相同,都表 阅读全文
posted @ 2021-10-24 16:29 蔚蓝-星辰 阅读(752) 评论(0) 推荐(0)
摘要:数组与单个元素一样,也可以作为参数被函数调用,但其用法与单个元素调用存在不同。 对于单个元素调用,如不使用引用&或者指针,则**在函数中对形参的操作不会反映到实参上**,即实参不会发生改变,具体用法详见上一篇博客。 而对于数组调用,函数的形参看似是一个新的数组,但并未分配新的内存。因为**数组的名字 阅读全文
posted @ 2021-10-19 19:38 蔚蓝-星辰 阅读(731) 评论(0) 推荐(0)
摘要:符号&有多种用法,这篇文章讨论其作为引用与取地址的区别。 1.&作为引用:可理解为给变量取别名 int a=6; int &b=a; 声明了b是a的一个引用,是a的一个专属别名,故b不能再作为别的变量的引用,即不能继续有&b=c。 int &c=a; // a可以被多次引用,即被多次起别名 int 阅读全文
posted @ 2021-10-19 19:37 蔚蓝-星辰 阅读(1050) 评论(0) 推荐(0)
摘要:基础 1. 悬线法 int le[1010][1010],ri[1010][1010],up[1010][1010]; for(register int i=1;i<=n;i++){ for(register int j=1;j<=m;j++){ up[i][j]=1; le[i][j]=ri[i] 阅读全文
posted @ 2021-10-19 19:37 蔚蓝-星辰 阅读(108) 评论(0) 推荐(0)
摘要:题目:隔壁家的地主老王最近在忙着核算自家的收益。老王家有一块由N×M 个相同大小的小正方形组成的矩形田地,每块小正方形田地分给不同的佃户种植,有着不同的收益wij. 到年底了,老王想要统计一下自家田地中所有矩形田地(矩形田地是指由若干小正方形组成的任意大小的矩形田地,一个小正方形也算矩形田地)获得的 阅读全文
posted @ 2021-10-18 22:10 蔚蓝-星辰 阅读(115) 评论(0) 推荐(0)
摘要:#include<cstdio> #include<cstdlib> #include<algorithm> #include<ctime> using namespace std; inline int random(int n); int main(){ freopen("data.in","w 阅读全文
posted @ 2021-10-17 23:52 蔚蓝-星辰 阅读(243) 评论(0) 推荐(0)
摘要:考虑使序列P最终升序 1.若只能交换相邻元素,由于每一次有效交换,都会使序列的逆序对数目减少1,故最小交换次数即为序列P的逆序对数目。可用树状数组求解逆序对数目。 2.若可以任意交换序列中的元素,可贪心的考虑。每一次有效交换都至少使一个数到达其最终所在的位置。故遍历i从1到n,如果i在其最终的位置, 阅读全文
posted @ 2021-10-17 23:29 蔚蓝-星辰 阅读(164) 评论(0) 推荐(0)