【五一qbxt】day4 数论知识
这些东西大部分之前都学过了啊qwq
zhx大概也知道我们之前跟着他学过这些了qwq,所以:
先讲新的东西qwq:(意思就是先讲我们没有学过的东西)
进制转换
10=23+21=1010(2)
=32+30=101(3)
进制转换的两种操作:
1.10进制=>k进制
短除法:
55(10):
55/3=18……1
18/3=6…… 0
6/3=2…… 0
2/3=0…… 2
55(10)=2001(3)
2.k进制=>10进制
k进制数x,n~0
xnxn-1xn-2……x0(k)
= xn*kn+xn-1*kn-1+xn-2*kn-2……x0*k0
特殊的进制:
二进制 想要的二进制表示前+0 举个栗子:01001 c++识别为9
八进制
十进制
十六进制 想要直接写16进制数+0x 举个栗子:0x1001=16 3+160=4097;10~15:用字母代表 A=10,B=11,C=12……F=15
0x3f3f3f3f= 3*167+15*166+3*165+15*164+3*163+15*162+3*161+15*160
高精度:
int -231~231-1
long long -263~263-1≈1020
目的:解决大数运算
方法:竖式加减乘除法
加法:个位对齐,逐位相加。
2333+233=2566
储存:
19260817
从0~n,存从最高位到最低位✘ 对不齐(麻烦)
0=>n 存 个位=>最高位
这时个位一定对齐的,逐位相加就可以了qwq
乘法:
回到数论qwq:
质数:
素数判定:O(根号n)
证明啊qwq:
筛法:
#include<iostream>
for(int i=2;i<=n;i++)
for(int b=i*2;b<=n;b+=i)
not_prime[b]=true;
约等于=n(1+1/2+1/3+……+1/n);调和级数
约等于nlogn
埃氏筛:
O(nloglogn)
一个合数,一定会被筛质数的倍数是被筛掉
for(int i=2;i<=n;i++)
if(not_prime[i] =false) //只筛掉质数的倍数
for(int b=i*2;b<=n;b+=i)
not_prime[b]=true;
线性筛:(保证每个数只被最小的质因数筛掉)
memset(not_prime,0,sizeof(not_prime));
not_prime[1]=true;
for(int i=2;i<=n;i++){}
if(!not_prime[i])prime[++prime_count]=i;
for(int j=1;j<=prime_count;j++){
if(prime[j]*i>n)break;
not_prime[prime[j]*i]=true;
if(i%prime[j]==0)break;//保证每个数只被筛一次且是被他最小质因子筛掉;
}
}
gcd:
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
内置函数:__gcd(下划线下划线gcd)(最好不要用)
扩展欧几里得算法qwq
令gcd(a,b)=g;
那么ax+by=g;
现在已知gcd(a,b)=g;
求得ax+by=g的一组解;
逆元:
费马小:
(mod p)
欧拉定理:
(mod m)
gcd(a,m)=1;
φ(m),有几个数和m是互质的:
m分解质因数:
φ(m)=
费马小是欧拉的特殊形式qwq
mod m,m不是质数;
/x <=> *xφ(m)-1(mod m)
end-
【五一qbxt】day4 数论知识的更多相关文章
- 【五一qbxt】day7-2 选择客栈
停更20天祭qwq(因为去准备推荐生考试了一直在自习qwq) [noip2011选择客栈] 这道题的前置知识是DP,可以参考=>[五一qbxt]day3 动态规划 鬼知道我写的是什么emm 这道 ...
- RSA算法原理——(2)RSA简介及基础数论知识
上期为大家介绍了目前常见加密算法,相信阅读过的同学们对目前的加密算法也算是有了一个大概的了解.如果你对这些解密算法概念及特点还不是很清晰的话,昌昌非常推荐大家可以看看HTTPS的加密通信原理,因为HT ...
- pwn学习日记Day4 基础知识积累
知识杂项 *:字符串重复 空指令NOP:\x90 cmp:是比较指令,cmp的功能相当于减法指令.它不保存结果,只是影响相应的标志位. xor:将两个操作数进行异或运算,并将结果存放到操作数1中. s ...
- 数论知识总结——史诗大作(这是一个flag)
1.快速幂 计算a^b的快速算法,例如,3^5,我们把5写成二进制101,3^5=3^1*1+3^2*2+3^4*1 ll fast(ll a,ll b){ll ans=;,a=mul(a,a)))a ...
- BZOJ1257(数论知识)
感觉做法很神奇……想不到啊qwq 题目: Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k ...
- bzoj 1951 [Sdoi2010]古代猪文(数论知识)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1951 [思路] 一道优(e)秀(xin)的数论题. 首先我们要求的是(G^sigma{ ...
- bzoj 2242 [SDOI2011]计算器(数论知识)
Description 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数: 3.给 ...
- 清北澡堂 Day2 下午 一些比较重要的数论知识整理
1.欧拉定理 设x1,x2,.....,xk,k=φ(n)为1~n中k个与n互质的数 结论一:axi与axj不同余 结论二:gcd(axi,n)=1 结论三:x1,x2,...,xk和ax1,ax2, ...
- qbxt Day4
1.树形dp 例题1 树上最长链 其实有两种方法,但为了简便,就只学了最通用的dp算法 我们考虑设dp[i][0/1]表示以i为根的最长路和次长路,然后拼接就行了 第二维0表示最长路,1表示次长路 i ...
随机推荐
- 逐行读取txt文件,分割,写入txt。。。上传,下载
s = [] f = open('querylist.txt','r') #由于我使用的pycharm已经设置完了路径,因此我直接写了文件名 for lines in f: ls = lin ...
- ReactiveCocoa 之 优雅的 RACCommand
RACCommand 是一个在 ReactiveCocoa 中比较复杂的类,大多数使用 ReactiveCocoa 的人,尤其是初学者并不会经常使用它. 在很多情况下,虽然使用 RACSignal 和 ...
- #10042. 「一本通 2.1 练习 8」收集雪花 || 离散化 || 双指针法 || C++ || LOJ
题目:#10042. 「一本通 2.1 练习 8」收集雪花 看到网上没有这道题的题解,所以写一下. 要标记数字是否存在,看到x<=1e9,所以考虑用离散化,然后开一个last数组,last[i] ...
- 线程工具类 - CountDownLatch(倒计时器)
CountDownLatch官方文档 一.原理 CountDownLatch是一个非常实用的多线程控制工具类.Count Down在英文中意为倒计时,Latch意为门闩,可以简单的将CountDown ...
- 【串线篇】spring boot对静态资源的映射规则
WebMvcAutoConfiguration的内部类 WebMvcAutoConfigurationAdapter 其中ResourceProperties点进去 其中addResourceHand ...
- mac os安裝jdk
下載安裝 打开mac笔记本,输入账号密码登陆后,点击桌面上的terminal终端图标.打开终端,然后在终端中输入命令java. 从下面的图中可以看到,终端会自动给出提示,没有可以使用的java命令 ...
- Influxdb根据配置文件启动(Influxdb的数据存储)
1.在Influxdb文件夹下建立一个bat文件 2.文件内容如下: @echo offSETLOCAL :: 获取当前批处理所在路径SET InfluxdP==%~dp0 :: 开启influxdb ...
- POJ 2253 Frogger ( 最短路变形 || 最小生成树 )
题意 : 给出二维平面上 N 个点,前两个点为起点和终点,问你从起点到终点的所有路径中拥有最短两点间距是多少. 分析 : ① 考虑最小生成树中 Kruskal 算法,在建树的过程中贪心的从最小的边一个 ...
- 破解Revealapp的试用时间限制
转载自:http://jingwei6.me/2014/02/28/reveal_crack.html Revealapp作为分析iOS app UI结构的利器,还是非常称手的,89刀的价格也是物有所 ...
- 纯css实现瀑布流(multi-column多列及flex布局)
瀑布流的布局自我感觉还是很吸引人的,最近又看到实现瀑布流这个做法,在这里记录下,特别的,感觉flex布局实现瀑布流还是有点懵的样子,不过现在就可以明白它的原理了 1.multi-column多列布局实 ...