• 【★★★★★模板专区★★★★★】


    模板们。。。

    注释

    这是一个注释。恩。这些模板是给我自己复习用滴,所以只能在我愚笨的认知范围内尽量精妙了。。。。

    所有模板默认有加基本头文件如下:

    #include<iostream>
    #include<cstdlib>
    #include<cstdio>
    #include<cstring>
    using namespace std;

    每个模板都有效果,代码和警告,需要的还会配上其他辅助的东西。。

    排序模板

    #include<algorithm>
    sort(a+1,a+n+1);

       柯嵩宇大神说sort在编译器中会判断n的大小并选择合适的排序方式,效果比qsort好。

    文件读入读出

    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
    不需要写freclose这种不存在的东东

       输出文件也是用freopen打开不是close。。。。。

    快速读入

    inline int read()  
    {  
        int x=0,f=1;char ch=getchar();  
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}  
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}  
        return x*f;  
    }  

    并查集寻找祖宗与路径压缩

    int find(int x){return x==father[x]?x:father[x]=find(father[x]);} 背吧

      黄巨大的代码一定是很精妙滴。虽然我看不懂。

    快速读入

    inline void readInt(int &x) {
            char cc; bool sign = false;
            for (cc = getchar(); cc<'0' || cc>'9'; cc = getchar()) if (cc=='-') sign = true;
            for (x = cc-'0',cc = getchar(); cc>='0' && cc<='9'; cc = getchar()) x = x*10+cc-'0';
            sign && (x=-x);
    }
    背吧。。

      cc是因为。。我原来的代码里面有个c了。。。

    最大公因数

    //单个数的...
    
    (1)正常的
    /*int gcd(int a,int b)
    {
       while (b!=0)
      {
          int tmp=a%b;
          a=b;b=tmp;
      }
      return a;
    }
    */
    (2)精妙的
    int gcd(int x, int y) { return y == 0 ? x : gcd(y, x % y); }
    //多个数的...
    O(nlog常数):
    从第三个数开始,每个数和前面的数的gcd求gcd。。。
    
    求gcd时间复杂度是O(log常数),线性扫描是O(n) ,所以如上。。

      

  • 相关阅读:
    如何优雅的使用mybatis
    Spring Data JPA、MyBatis还有Hibernate有什么区别
    微服务RPC框架选美
    微服务 Rpc和Rest协议
    开源PaaS工具CloudFoundry落地阿里云
    JS中的位置和宽度:clientWidth、offsetWidth、scrollWidth等区别
    vue cli3.X项目打包
    前端实现文件下载功能
    vue elementui 页面监控form表单数据变化
    vue 刮刮乐功能实现
  • 原文地址:https://www.cnblogs.com/seekdreamer/p/3808535.html
Copyright © 2020-2023  润新知