zoukankan      html  css  js  c++  java
  • 【★★★★★模板专区★★★★★】

    模板们。。。

    注释

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

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

    #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) ,所以如上。。

      

  • 相关阅读:
    WinForm笔记1:TextBox编辑时和DataGridView 单元格编辑时 的事件及其顺序
    Emgu 学习(4) 使用指针访问图像内存
    SolidWorks学习笔记1
    Emgu 学习(3) 绘图,使用鼠标绘图,使用trackbar
    NModbus4的使用
    C# async await的使用
    Emgu 学习(2) 视频文件播放
    redis-key2
    redis--key1
    rpc优化
  • 原文地址:https://www.cnblogs.com/seekdreamer/p/3808535.html
Copyright © 2011-2022 走看看