板子A(扩展欧几里得)

题目描述

求关于x的同余方程 ax≡1(modb) 的最小正整数解。

输入格式

一行,包含两个正整数 a,b,用一个空格隔开。

输出格式

一个正整数 x​,即最小正整数解。输入数据保证一定有解。

 #include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
long long xx,yy;
void exgcd(long long aa,long long bb)
{
if(bb==)
{
xx=;
yy=;
return;
}
exgcd(bb,aa%bb);
long long tt=yy;
yy=xx-(aa/bb)*yy;
xx=tt;
}
int main()
{
long long aa,bb;
scanf("%lld%lld",&aa,&bb);
exgcd(aa,bb);
xx=((xx%bb)+bb)%bb;
printf("%lld",xx);
return ;
}

板子B1(乘法逆元(费马小定理或欧拉定理))

题目描述

给定n,p求1~n中所有整数在模p意义下的乘法逆元。

输入格式

一行n,p

输出格式

n行,第i行表示i在模p意义下的逆元。

 #include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
long long mod;
long long ksm(long long aa,long long bb)
{
long long ret=;
while(bb!=)
{
if(bb%==)ret=((ret%mod)*(aa%mod))%mod;
bb/=;
aa=(aa%mod)*(aa%mod)%mod;
}
return ret%mod;
}
int main()
{
long long i;
long long n;
scanf("%lld%lld",&n,&mod);
for(i=;i<=n;i++)
{
printf("%lld\n",ksm(i,mod-));
}
return ;
}

板子B2(乘法逆元(扩展欧几里得))

题目描述

给定n,p求1~n中所有整数在模p意义下的乘法逆元。

输入格式

一行n,p

输出格式

n行,第i行表示i在模p意义下的逆元。

 #include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
long long n,mod;
long long xx,yy;
void exgcd(long long aa,long long bb)
{
if(bb==)
{
xx=;
yy=;
return;
}
exgcd(bb,aa%bb);
long long tt=yy;
yy=xx-(aa/bb)*yy;
xx=tt;
}
int main()
{
long long i;
scanf("%lld%lld",&n,&mod);
for(i=;i<=n;i++)
{
exgcd(i,mod);
xx=((xx%mod)+mod)%mod;
printf("%lld\n",xx);
}
return ;
}

板子B3(乘法逆元(线性筛))

题目描述

给定n,p求1~n中所有整数在模p意义下的乘法逆元。

输入格式

一行n,p

输出格式

n行,第i行表示i在模p意义下的逆元。

 #include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
long long inv[];
long long n,mod;
int main()
{
scanf("%lld%lld",&n,&mod);
long long i;
inv[]=;
printf("1\n");
for(i=;i<=n;i++)
{
inv[i]=mod-(mod/i)*inv[mod%i]%mod;
printf("%lld\n",inv[i]);
}
return ;
}

板子C(线性筛质数)

题目描述

如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)

输入格式

第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。

接下来M行每行包含一个不小于1且不大于N的整数,即询问该数是否为质数。

输出格式

输出包含M行,每行为Yes或No,即依次为每一个询问的结果。

 #include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
bool vist[];
int prim[];
int tot=;
int main()
{
int n,m;
int i,j;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++)
{
if(!vist[i])prim[++tot]=i;
for(j=;j<=tot&&i*prim[j]<=n;j++)
{
vist[prim[j]*i]=;
if(i%prim[j]==)
break;
}
}
int qq;
vist[]=;
for(i=;i<=m;i++)
{
scanf("%d",&qq);
if(vist[qq]==)printf("Yes\n");
else printf("No\n");
}
return ;
}

板子D(GCD&LCM)

题目描述

输入两个正整数m和n,求其最大公约数和最小公倍数。

输入格式

两个整数m和n。

输出格式

两个整数最大公约数,最小公倍数

 #include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
long long gcd(long long aa,long long bb)
{
if(bb==)return aa;
else return gcd(bb,aa%bb);
}
int main()
{
long long n,m;
scanf("%lld%lld",&n,&m);
long long ls=gcd(n,m);
printf("%lld %lld",ls,n*m/ls);
return ;
}

CSP前的板子的更多相关文章

  1. CSP前的板子们

    见窝的luogu博客qwq noip前的板子们

  2. noip前打板子 qwq

    在某咕上打了一晚上的模板 感觉还好... #include<bits/stdc++.h> #define LL long long using namespace std; inline ...

  3. CSP前模板复习

    Tarjan 求强连通分量 展开查看 #include #include #include using namespace std; const int N = 1e4 + 1e3; int n, m ...

  4. [日常] NOIP前集训日记

    写点流水账放松身心... 10.8 前一天考完NHEEE的一调考试终于可以开始集训了Orz (然后上来考试就迟到5min, GG) T1维护队列瞎贪心, 过了大样例交上去一点也不稳...T出翔只拿了5 ...

  5. [OI]省选前模板整理

    省选前把板子整理一遍,如果发现有脑抽写错的情况,欢迎各位神犇打脸 :) 数学知识 数论: //组合数 //C(n,m) 在n个数中选m个的方案数 ll C[N][N]; void get_C(int ...

  6. Codeforces Round #594 (Div. 1)

    Preface 这场CF真是细节多的爆炸,B,C,F都是大细节题,每道题都写了好久的说 CSP前的打的最后一场比赛了吧,瞬间凉意满满 希望CSP可以狗住冬令营啊(再狗不住真没了) A. Ivan th ...

  7. 【洛谷P1816】忠诚——ST表做法

    看了两个小时RMQ并位运算,对二进制勉勉强强有了个初步了解,不能说精通(可能今年CSP前都做不到精通),但是记熟板子做做题还是没有问题的 以下是正式题解,相信你看过了题目,我介绍的是ST表的做法(很简 ...

  8. REHの收藏列表

    搬运自本人的AcWing,所以那里的文章会挺多. 友链(同类文章) :bztMinamoto 世外明月 mlystdcall 新人手册:AcWing入门使用指南 前言 有看到好文欢迎推荐(毛遂自荐也可 ...

  9. NOIp2021 原地退役记

    JS-0013 Day -2 - 2021.11.17 打了场 cmd_blk 出的模拟赛,T2 T3 都是做过的原题(AGC010C & ARC092D),于是直接摆烂交暴力垫底,成功为我的 ...

随机推荐

  1. HTML连载24-属性选择器(下)

    一.格式 标签[属性=值]:{属性:值:} 1.属性的取值是以什么开头的 attribute |= value(CSS2) attribute^=value(CSS3) 两者之间的区别:CSS2中只能 ...

  2. LeetCode 21:合并两个有序链表 Merge Two Sorted Lists

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. Merge two sorted linked lists and return it as a new ...

  3. Jsp自学1

    jsp学习之初,我是用记事本(EditPlus)来进行编辑的,那么写好的jsp文件如何执行看到效果呢?不像html文件可以直接用浏览器打开,jsp文件需要先进行编译器的编译才能执行,而Tomcat就可 ...

  4. Srinath总结 架构师们遵循的 30 条设计原则

    作者:Srinath 翻译:贺卓凡,来源:公众号 ImportSource Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构 ...

  5. NLP第二课(搜索)

    最近压力太大了,持续性修改0注释的代码,变量为阿拉伯数字的代码,压力山大,摆正心态,没有那些bug,还需要我们来做些什么呢?如果一个特别出色的项目,也体现不出来你个人的出色.几句牢骚,我们今天来继续说 ...

  6. ArcGIS Server 地图发布请求分析

    1.1. 数据上传 请求 URL: https://172.16.2.17:6443/arcgis/admin/uploads/upload    POST            Location: ...

  7. C# 跨线程访问UI不报错,必须使用Invoke。

    代码有时跨线程访问UI,修改按钮Enable属性不报异常.调试发现修改按钮属性的线程是Background,执行不报异常. 在窗体构造中添加 Control.CheckForIllegalCrossT ...

  8. SQL Server like 字段

    参考资料:Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排 ...

  9. css sprite responsive实现探究

    在做web app前端设计时,为了减少http的请求,提高系统响应时间,有一个非常常见的优化措施是:将所有用到的静态的图片通过合并形成一个sprite.png,并且配合background-posit ...

  10. css中的baseline

    这是css中的一个容易被人忽略的概念,今天在知乎上看到一个问题,这个问题应该是关于baseline,才去补习了一下关于baseline的知识,首先我来还原一下问题: <div style=&qu ...