算法比赛+刷题小技巧总结

算法总结

--由于刚开始写一些正规的算法题,所以写下这些东西来记录自己学的新东西

      

 

1.针对数据比较大的数,long类型的数据已经满足不了了,所以需要使用long long型数据,一般在题目条件中都有暗示。

            用法:long long a;

                      scanf("%lld",&bb);

 

2.常用库函数调用:

 

a)       #include<algorithm>

                     i.            常用函数:max();

                   ii.            sort(a,a+n,bmp);默认为升序

 

b)      #include<cstring>

                     i.            常用函数:memset(str,0,sizeof(str));数组初始化

 

c)       #include<vector>

    

1 创建一维vector:
2 
3       a)  vector<int> nums;//不指定长度
4 
5       b)  vector<int> nums(n); // 指定长度为n
6 
7       nums.size()显示数组的长度
8       nums.push_back(1);//直接从数组末端添加

 

    反向迭代(头尾交换):
            c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素
       c.rend() 返回一个逆序迭代器,它指向容器c的第一个元素前面的位置

    创建二维数组:
                
            a.push_back({});//创建数组的行
            a[level].push_back(root->val);//在该行添加元素

 

 

3.bool函数的自身默认返回值为true。

 

 

  a)       判断相等的时候可以用,将所有的情况都定为false,那么剩下的就是true。

 

 

                     i.     

            Cout<<a();  返回值为true

           

posted @ 2020-02-20 21:19  PRINT王哲  阅读(584)  评论(0编辑  收藏  举报
Live2D