首页 > 其他分享 >CSP-S可能出现的模板(手抄版)

CSP-S可能出现的模板(手抄版)

时间:2024-10-26 13:10:40浏览次数:1  
标签:return 手抄 int void ret exgcd CSP 模板 mod

CSP-S rp+++++++++++

ǰ����ʾ,��ƪ���´���ע��~

��ѧ

������

int ksm(int a,int b,int p){
    int ret=1;
    while(b){
        if(b&1)ret=(ret*a)%p;
        a=(a*a)%p;
        b=b>>1;
    }
    return ret;
}
//b��λö�� �����λΪ1�������a ÿ��a�˷�

Lucas

int init(int a,int b){
    ny[1]=1;
    for(int i=2;i<N;i++)ny[i]=(mod-mod/i)*ny[mod%i]%mod;
    jcny[0]=jcny[1]=1;
    for(int i=2;i<N;i++)jcny[i]=jcny[i-1]*ny[i]%mod;
    jc[0]=jc[1]=1;
    for(int i=1;i<N;i++)jc[i]=jc[i-1]*i%mod;
}
//��ʼ�� ny��¼��Ԫ jcny��¼��Ԫ�Ľ׳� jc��¼�׳�
int c(int a,int b){
    if(b>a)return 0;
    return jc[a]*jcny[a-b]%mod*jcny[b]%mod;
}
//��a!/(a-b!*b!)���������
int lucas(int a,int b){
    if(!b)return 1;
    return c(a%mod,b%mod)*lucas(a/mod,b/mod)%mod;
}
//

exgcd

int exgcd(int a,int b,int &x,int &y){
    //����ע������ ��ΪҪ�޸�ֵ
    if(!b){
        //�Զ��׼��ĵ�ax+0y=aʱ x=1,y=0
        x=1,y=0;
        return a;
        int ret=exgcd(b,a%b,y,x);
        //exgcd�ı��� ax+by=bx+(a%b)y
        y-=(a/b)*x;
        //exgcd�IJ��� x1=y2 y1=x2-(a/b)*x2
        return ret;
    }
}

exgcd����Ԫ

int inv(int a,int b){
    int x,y;
    int d=exgcd(a,m,x,y);
    return (d==1?(x+m)%m:-1);
}
//exgcd����Ԫ������ͬ�෽�̵�����ͬ

����С��������Ԫ

int inv(int a,int p){
    //���� ����С���� a^p��a��mod p������ͬ��
    //��תΪ a^p-2��a^-1��mod p������ͬ��
    return ksm(a,p-2,p);
}

��������Ԫ

for(int i=2;i<n;i++){
    int[i]=inv[p%i]*(p-p*i);
}

CRT

int crt(int k,int *a,int *r){
    int n=1,ans=0;
    for(int i=1;i<=k;i++)n=n*r[i];
    //��������ģ���Ļ�
    for(int i=1;i<=k;i++){
        int m=n/r[i],b,y;//�� m=Sigma(ģ��)/��ģ��
        exgcd(m,r[i],b,y);//���b*m mod r[i]=1�õ�m����Ԫ
        ans=(ans+a[i]*m*b)%n;//�õ�c[i]=m[i]*m[i]^-1,��a[i]��˵õ���
    }
    return (ans%n+n)%n;//ȡģ~
}

exCRT

int excrt(int k,int *a,int *r){
    int m=a[i],ans=a[i];
    for(int i=2;i<=2;i++){
        int c=
    }
}

ŷ��ɸ+����ŷ������

bool vis[N];
int p[N],phi[N],cnt=1;
void initphi(){
    phi[1]=1;
    for(int i=2;i<N;i++){
        if(!vis[i])p[cnt++]=i,phi[i]=i-1;
        //���i��δ�����ʹ�i�϶�Ϊ����,������ŷ������ֵΪi-1
        for(int j=1,v;(v=i*p[j])<N;j++){
            vis[v]=1;
            if(i%p[j]==0){
                //���p[j]Ϊi������,��ͳ��ŷ������,��ͣ��
                phi[i*p[j]]=phi[i]*p[j];
                break;
            }else phi[i*p[j]]=phi[i]*phi[p[j]];
        }
    }
}

Miller Rabin

//��ģ�峬��,�����ں���,��������Ӳ��
bool Miller_Rabin(int n,int s){
    if(n==2)return 1;//2ΪΨһ��ż����,����
    if(n<2||!(n&1))return 0;//����ż���϶�������,1ɶҲ����
    int x,y,u=n-1,t=0;
    while((u&1)==0)t++,u>>1;
    for(int i=0;i<s;i++){//sΪ���Դ���
        int a=rand()%(n-1)+1;
        int x=ksm(a,u,n);
        for(int j=0;j<t;j++){
            int y=ksm(x,x,n);
            if(y==1&&x!+1&&x!=n-1)return 0;
            x=y;
        }
    }
    if(x!=1)return 0;
}

ŷ������ ������

int euler(int n){
    int ret=n;
    for(int i=2;i*i<=n;i++){
        if(n%i==0){
            ret-=ret/i;
            while(!(n%i))n/=i;
        }
    }
    if(n>1)ret-=ret/n;
    return ret;
    //����˵ʲô,���Ƿֽ�������
}

�����ֿ�

for(int l=1,r;l<=n;l=r+1){
    r=(n/(n/l));
    cout<<n/l<<" "<<r-l+1<<endl;
}

��˹��Ԫ

int now=1;
for(int i=1;i<=n;i++){
    //TODO: ��ϰ��˹��Ԫ
}

ɨ����

//���� ��������ѧ�������ģ��,ɨ����+�߶���
//TODO: ���߶���ģ��д�ú�ϰɨ����

���ݽṹ~

����ջ

void insert(int x){
    while(!sta.empty()&&sta.top()<x)sta.pop();
    //ά�������� ����pop�������ϵ����Ե�
    sta.push(x);
}

��������

deque<int>d;
for(int i=1;i<=n;i++){









    
    cin>>a;
    while(!d.empty()&&d.end()>a)d.pop_back();
    //ά�������� ����pop�������ϵ����Ե�
    d.push_back(a);
}

01trie

int t[N*31][2],nv=1;
void build(int p,int d,int v){
    bool flag=(v&(1<<d));
    if(!t[p][flag])t[p][fkag]=++nv;
    if(d)build(t[p][flag],d-1,v);
    //�ݹ���λö��
}
int query(int p,int d,int v){
    //��ѯ��λ���
    if(d<0)return 0;
    bool flag(v&(1<<d));
    if(t[p][!flag])return (1<<d)+query(t[p][!flag],d-1,v);
    //��ͬΪ1
    if(t[p][!flag])return query(t[p][flag],d-1,v);
    //��ͬΪ0
}

ST��

int logn=21;
void pre(){
  Logn[1]=0;
  Logn[2]=1;
  for (int i=3;i<maxn;i++) {
    Logn[i] = Logn[i / 2] + 1;
  }
}
for(int j=1;j<=logn;j++){
    for(int i=1;i+(i<<j)-1<=n;i++){
        f[i][j]=max(f[i][j-1],f[i+(i<<(j-1))][j-1]);
    }
}

��״����

#define lower_bit(x) (x)&-(x)
void add(int a,int c){
    for(int i=a;i<=n;i+=lower_bit(i))tree[i]+=c;
}
void add(int r){
    int ret=0;
    for(int i=r;i>=1;i-=lower_bit(i))ret+=tree[i];
}

�߶���

标签:return,手抄,int,void,ret,exgcd,CSP,模板,mod
From: https://www.cnblogs.com/baoziawa/p/18503374

相关文章

  • pbootcms模板上线推广百度竞价后打不开网站出现404错误
    PbootCMSV3.2.5版本中为了增强安全性或优化URL结构,加入了对URL参数的严格判断。当URL中包含?但不符合特定条件(如/?tag=、/?page=、/?ext_)时,系统会自动返回404错误页面。这种做法虽然有助于防止一些非法请求,但也可能导致合法的请求被误判为无效,特别是对于那些依赖于其他查询参数......
  • 鲜花-CSP2024 游记
    前言坐标\(\text{SX}\),去年\(\text{CSP}\)和\(\text{NOIP}\)都爆炸了,于是这就是我最后一年了。初赛赛前随便做了三份题,可以随便过线就放下不管了。赛时光速写完选择,然后被状压题硬控,没太看懂在求什么,有点慌乱,后面的完善程序二分题很快写上去了,但是\(K\)短路完全没学过,......
  • CSP 考前注意事项
    考试策略J组争取在\(10:00\)之前把所有题目稳定拿下。如果有题目没有思路、比较难写还没调出来或者想不出来,那么可以先放着,跳题。把其他所有题打完之后写个对拍,挂后台一直拍着。然后剩下的2h内先去上个厕所,洗把冷水脸,放松一下,吃个巧克力,全力去冲没写出来的题目。如果\(10......
  • 2024 CSP-J1 游记
    补一篇游记罢。现在是\(2024.10.25.22:07:10\)。明天恰好是第二轮,hyy他们在日照已经试完机了罢。悲。Day-?暑假学复赛似乎学了不少?但写的那几篇学习笔记貌似都忘干净了。。。Day-7—0开学了。老师超级严,天天布置背诵任务让晚上打卡,没空卷OI。听说tzyz有mx模拟赛,但是......
  • CSP-S 2024 游记 / 游寄
    Day\(-\texttt{?}\)中午地点:机房。新的赛季从初赛开始。说实话,打心底没重视初赛。中午在机房听说早上J组送分送到家了,水到飞起。考后第一时间QQ群就传出来的偷拍版真题?某机构泄题的?重生之监考老师是我宿管?罚坐之考场上偷拍监考老师发呆?……没啥波澜,不做评价。下午地点:......
  • CSP2024: 给小朋友们
    竞赛对文化课:标签化分治思想自信竞赛对大学超出同龄人的见识,思维的广度认识更多的人提前打CCPC,ICPC,对以后发展有帮助强者恒强?:滚雪球结语著名\(\texttt{OIer}\)Froggy在他的签名中写道:最初的一步,泪水之后再一次,雕刻的风景线,消逝在黄昏中的风,直到梦的最后。竞赛,......
  • CSP-S 可能出现的模板(非原创,各个地方整理得)
    CSP-Srp+++++++++++数据结构~01trie~intt[N*31][2],nv=1;voidbuild(intp,intd,intv){ boolflag=(v&(1<<d)); if(!t[p][flag])t[p][flag]=++nv; if(d)build(t[p][flag],d-1,v);}intquery(intp,intd,intv){ if(d<0)return0; boolflag=(v&am......
  • Tarjan连通性算法模板大整合
    更新日志前言由于Tarjan算法页面过多,这里统一做一个整合,后期可能还会加入或者更改这里的模板。另外的,这个页面只提供模板——以及链接,详细讲解点链接即可。强连通(有向图,储存每个节点属于的分量编号)intscnt;intscc[N],siz[N];intdcnt;intdfn[N],low[N];boolins[N......
  • C++之内存管理与模板初级
    内容介绍Ⅰ.C++内存管理1.C/C++内存分布2.C与C++动态内存管理方式对比2.1C中动态内存管理方式2.2C++中内存管理方式3.new和delete的底层实现原理(了解)Ⅱ.模板初阶1.模板介绍2.函数模板3.函数模板参数匹配原则4.类模板Ⅰ.C++内存管理1.C/C++内存分布intn1=1;......
  • 2024CSP游记
    2024CSP游记众所周知,2024CSP第二轮非专业组能力等级认证将于2024.10.26(星期六)举行关于本人初中生,今年第一次参加CSP的复赛。赛前赛前一星期,教练让我们每天都到机房训练,整整一星期。文化课pass作业pass共做10+套模拟出行状况&&时间线本人坐标ZJ,考点在杭州师范大学(下沙校......