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

算法总结

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

      

 

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

           

原文地址:https://www.cnblogs.com/printwangzhe/p/12337524.html