常用模板汇总

Posted wjsoj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用模板汇总相关的知识,希望对你有一定的参考价值。

二分排序

int A(int l,int r)
{
    int mid=a[(l+r)/2];
    int i=l,j=r;
    while(i<=j)
    {
        while(a[i]<mid&&i<=r)
            i++;
        while(a[j]>mid&&j>=l)
            j--;
        if(i<=j)
        {
            swap(a[i],a[j]);
            i++;
            j--;
        }
    }
        if(l<=j)
            A(l,j);
        if(i<=r)
            A(i,r);
    return 0;
}

欧拉筛

bool isprime[10005];
int prime[5005];
int top=1;

memset(isprime,1,sizeof(isprime));
for(int i=2;i<10000;i++)
{
    if(isprime[i])
        prime[top++]=i;
    for(int j=1;j<top;j++)
    {
        if(i*prime[j]>10000)
            break;
        isprime[i*prime[j]]=0;
        if(i%prime[j]==0)
            break;
    }
}

高精加

string s,sx;
int a[505],b[505],ans[505];

int main(int argc, char const *argv[])
{
    cin>>s>>sx;
    memset(a,sizeof(a),0);
    memset(b,sizeof(b),0);
    for(int i=0,pos=s.size();i<s.size();i++,pos--)
        a[pos]=s[i]-'0';
    for(int i=0,pos=sx.size();i<sx.size();i++,pos--)
        b[pos]=sx[i]-'0';
    int jinwei=0,len=max(s.size(),sx.size());
    for(int i=1;i<=len;i++)
    {
        ans[i]=(a[i]+b[i]+jinwei)%10;
        jinwei=(a[i]+b[i]+jinwei)/10;
    }
    if(jinwei)
    {
        cout<<jinwei;
        for(int i=len;i;i--)
            cout<<ans[i];
    }
    else
        for(int i=len;i;i--)
            cout<<ans[i];
    return 0;
}

快速读入

整数

inline void read(int &x){
    x=0;int f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    x*=f;
}

实数(注意输入必须要包含小数点)

inline void read(double &x){
    x=0;int f=1;double y=1.0;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=(x*10)+(ch^48);
        ch=getchar();
    }
    ch=getchar();
    while(ch>='0'&& ch<='9'){
        x+=(y/=10)*(ch^48);
        ch=getchar();
    }
    x*=f;
}

以上是关于常用模板汇总的主要内容,如果未能解决你的问题,请参考以下文章

常用模板汇总

flask知识汇总

Eclipse常用快捷键与代码模板

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

VSCode自定义代码片段——.vue文件的模板