1月23和24日学习总结
23和24日我观看了acwing上算法基础课的排序、二分、高精度的视频并完成了相应的模板题,模板题的题解链接如下:
快速排序
第k个数
归并排序
逆序对的数量
数的范围
数的三次方根
高精度加法
高精度减法
高精度乘法
高精度除法
杭电oj上写的题: 第2050题,第2052题,第2095题
之前我对引用的的含义一直不太理解,但这几天在网上看别人的讲解,我看到了一篇博客,里边说引用就是一个变量的别名,引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。这篇博客里边提到 " 到底怎么理解引用只是一个变量的别名呢?其实在生活中别名很好理解,比如张三有一个别名叫做三儿。那么这两个名称指的实际上就是同一个人,张三干嘛,三儿就在干嘛,两者是一起的 " 。通过阅读这篇博客,我觉得我对引用的含义有了更好的认识。
在今天写杭电第2095题的过程中,我认识了一个名词” ^(异或) “,” ^(异或) “的使用方法如下:
- 0 异或 任何数 = 任何数
- 任何数 异或 自己 = 0
- 一个数连续对相同的数进行两次 异或 = 该数本身
“^(异或)”使用例题如下(杭电第2095题):
#include <bits/stdc++.h>
using namespace std;
int n,a,b;
int main(void)
{
while(scanf("%d",&n)!=EOF)
{
if(n==0)
{
return 0;
}
else
{
a=0;
while(n--)
{
scanf("%d",&b);
a^=b;
}
printf("%d\n",a);
}
}
return 0;
}