qbzt day2 下午
内容提要
高精
矩阵
筛法
先是高精除法
注意细节
高精度开方:神奇的竖式
以小数点为分界线,每两个位砍一刀
87654.321-->08|76|54|.32|1
大概就是先对第一位开方,然后相减,将上面的数乘二十,看看加多少再乘多少正好不能撑爆剩下的数,就在上面写几,重复操作就ok
原理是: (a*10+b)^2=a^2+2*a*10*b+b^2=a^2+(20*a+b)*b
竖式算开平方步骤:(如:把625开方)
(1)先把被开方的数由右到左每二位一组。(6,25)
(2)由左到右取每一组。(取的是6)
(3)取某数的平方,要比第一组数小,但某数+1的平方,要比第一组数大,这就是第一个开方值。(某数是2)
(4)把第一组数减去第一个开方值的平方,再取第二组数,构成余数。(6-2*2=2,余数为225)
(5)把第一个开方值*20,再加上估计的第二个开方值,它与第二个开方值相乘要比余数小,但把第一个开方值*20,再加上估计的第二个开方值+1,它与第二个开方值+1相乘要比余数大。(第二个开方值取5,2*20+5=45,45*5=225)
所以(625)^0.5=25
现在中考高考都不让带计算器了,试卷上出现的一些常见开方的数字都是直接提供给学生的。现在手工列竖式开方基本不再需要了,但是每每想起当时老师教过的列式开平方的方法,还是很骄傲的。
手工开平方的原理实际是很简单的,原理如下
(a+b)^2=a^2+2ab+b^2=a^2+(2a+b)*b
这里的a取10的倍数,b取个位数,如(10+2)^2=10^2+(2*10+2)*2=100+22*2=144,这是知道结果时的推算,如何给你一个数字,让你推算它的开平方值呢?
现在要对144开平方,那么估计所求的值为十几,因此可以写成(10+?)^2=10^2+(2*10+?)*?,这样猜这个?为2时,再代入计算,发现计算出的值正确。按此方法,可以列竖式进行计算。如果需要对2025进行开方处理,那么按两位两位进位,需要先对20求根,取5时,5*5>20,因此只能取4,也就是结果是四十几,即(40+?)^2=40^2+(2*40+?)*?,即减去40的平方1600后,2025还余下425,425再去除于8?(八十几),才能得到?(几),结论当然是85*5=425,因此2025开平方就是45。
。
快速幂
矩阵乘法
一个i行k列的矩阵乘一个k行j列的矩阵得到一个i行j列的矩阵
答案矩阵的第i,j个元素为A矩阵第i行第k个元素乘B矩阵第k行第j个元素,k是从1到m
就是一个矩阵的行乘另一个矩阵的列
代码:
矩阵快速幂常用于求解线性递推方程组
比如斐波那契数列的矩阵就是
1 1
1 0
[f[n],f[n-1]]*[矩阵]^k=[f[n+k],[n+k-1]]
矩阵快速幂基于以下的原理,即可以找到一个矩阵 M
使得 [F(n-1) F(n)]T* M = [F(n) F(n+1)]T
以斐波拉期数列为例:M = ((1 1) (1 0))
以此类推:
[F(0) F(1)]T* Mn = [F(n) F(n+1)]T
我们成功将一个递推式转化成了一个求矩阵幂的问题
利用快速幂算法可以将时间缩短为 O(d^3logn)
利用 FFT + 矩阵特征多项式的黑科技可以把时间进一步缩短到 O(dlogdlogn)
我们来试着写一下下面的矩阵:
F(n) = 7F(n-1) + 6F(n-2) + 5n + 4 * 3^n
先考虑转换前后的两个矩阵,肯定要有所有在转换中需要的
我们发现如果要从f[n-1]转换到f[n],要用到f[n-1],f[n-2],n,3^n,我们就先写上这些
然后发现n要转换到n+1就需要个1,再加上1就好了
[f[n-1,] f[n-2,] n, 3^n, 1]
[f[n], f[n-1], n+1, 3^(n+1) ,1]
然后按照递推式搞一搞就ok
高斯消元
高斯消元可以将一个矩阵变成一个上三角矩阵
在 OI 中一般用于两点:求解线性方程组(不常见) & 求线性基(常见)
然后搞一搞就行
注意判断无解和无穷解的情况
线性基常见问题:
如何求一堆数的异或和中第 K 大的值?
筛法
常见的埃拉托斯特尼筛,复杂度为 O(nlogn),优化后达到O(nlognlogn)
欧拉筛
让每个合数被他的最小的质因子筛掉
欧拉筛还可以用来维护一些复杂的函数值
如:逆元、一个数的质因数分解中最大的指数的值
积性函数:对于所有互质的 x 和 y,F(x * y) = F(x) * F(y)
完全积性函数:对于所有 x 和 y ,F(x * y) = F(x) * F(y)
常见的积性函数:
欧拉函数 φ(n) :不超过 n 与 n 互素的数的个数
若
则
怎么用程序求φ?
欧拉筛,筛数i,选取一个素数p,把p*i筛掉(p<=e[i])
此时会检查i的最小素数因子是不是p
所以会有两种可能
1.i和p互素
Phi[i*p]=phi[i]*phi[p]
2.i的最小素因子刚好是p
Phi[i*p]=phi[i]*p
φ[i]=(p1-1)*p1^(q1-1)+(p2-1)*p2^(q2-1)......(pn-1)*pn^(qn-1)
对于莫比乌斯函数也是差不多
- i和p互素 mul[i*p]=mul[i]*(-1)
- i的最小素因子刚好是p mul[i*p]=0
约数个数
约数和
求f(n)=[n/1]+[n/2]+---+[n/n]的值
- k<sqrt(n)的时候,k只有sqrt(n)种取值
所以n div k的取值最多只有sqrt(n)种
div是整除
2.k>sqrt(n)的时候
n div k 显然小于sqrt(n)
所以它的取值也只有sqrt(n)种
表面上复杂度是o(n),但是由于我们是跳着走的,所以复杂度为o(2√n)
qbzt day2 下午的更多相关文章
- PKUSC 模拟赛 day2 下午总结
终于考完了,下午身体状况很不好,看来要锻炼身体了,不然以后ACM没准比赛到一半我就挂掉了 下午差点AK,有一道很简单的题我看错题面了所以没有A掉 第一题显然是非常丝薄的题目 我们很容易通过DP来O(n ...
- 云栖大会day2 下午
下午内容普遍比较水 参与了intel的宣讲会,都能把人听睡着了 又回来听了开发者宣讲会 讲了人的成才选择,造势之人 顺势之人 逐流之人 我认为,跟人的能力关联不大,跟眼界关联很大, flink 参与到 ...
- 2016.10.30 济南学习 Day2 下午 T1
他 [问题描述] 一张长度为N的纸带,我们可以从左至右编号为0 − N(纸带最左端标号为 0).现在有M次操作,每次将纸带沿着某个位置进行折叠,问所有操作之后纸带 的长度是多少. [输入格式] 第一行 ...
- 清北澡堂 Day2 下午 一些比较重要的数论知识整理
1.欧拉定理 设x1,x2,.....,xk,k=φ(n)为1~n中k个与n互质的数 结论一:axi与axj不同余 结论二:gcd(axi,n)=1 结论三:x1,x2,...,xk和ax1,ax2, ...
- Day2下午
虽然成绩不太好,但有点进入状态了.期望200 实际160,忘记加判断了. T1 洗澡[问题描述]你是能看到第一题的friends 呢.——hja洗澡的地方,有一段括号序列,将一个括号修改一次需要1的代 ...
- Day2下午解题报告
预计分数:100+100+30=230 实际分数:100+100+30=230人品爆发&&智商爆发&&手感爆发 T3数据好水,,要是把数组开大一点的话还能多得10分,, ...
- qbzt day6 下午 模拟赛
我太菜了 T2 给定一张有向图,每个点有点权.试找到一条路径,使得该路径上的点权最 大值减去点权最小值最大,问这个差最大是多少. 话说这个题第一个想到的思路是tarjan缩点+拓扑排序来着... ...
- qbzt day5 下午
农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地.John打算在牧场上的某几格里种上美味的草,供他的奶牛们享 ...
- qbzt day4 下午
有向图的强连通分量 强联通:两个点之间可以互相到达 如果某个图任意两个点都是强联通的,那么称这个图强联通 如果一个图的子图是强联通的,那么称这个图是强联通子图 一个图的极大强联通子图被称作强连通分量 ...
随机推荐
- 18: vue-element-admin使用
1.1 vue-element-admin使用 1.使用参考网站 1)官方演示环境: https://panjiachen.github.io/vue-element-admin/#/dashboar ...
- 思维体操: HDU1008 Elevator
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- 用Java构建一个简单的WebSocket聊天室
前言 首先对于一个简单的聊天室,大家应该都有一定的概念了,这里我们省略用户模块的讲解,而是单纯的先说说聊天室的几个功能:自我对话.好友交流.群聊.离线消息等. 今天我们要做的demo就能帮我们做到这一 ...
- js倒计时跳转jquery插件版
<script type="text/javascript" src="js/jquery1.91.min.js"></script> ...
- jsonp跨域请求的方式
1.jsonp一种请求方式.用于解决一个棘手的问题: 由于浏览器具有同源策略:即可以通过后台去访问其他网站,而不能通过浏览器(ajax请求)访问其他网页或域(阻止ajax请求,但是无法阻止<sc ...
- 【学习总结】快速上手Linux玩转典型应用-第5章-远程连接SSH专题
课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 认识SSH 2. 服务器安装SSH服务 3. 客户端安装SSH工具 4. 客户端链接SSH服务 5. SSH config 6. SSH ...
- Markov Chain Monte Carlo Simulation using C# and MathNet
Math.Net Numerics has capability to conduct Markov Chair Monte Carlo simulations, yet the document i ...
- 猿题库 iOS 客户端架构设计(原文地址:http://gracelancy.com/blog/2016/01/06/ape-ios-arch-design/)
猿题库 iOS 客户端架构设计 序 猿题库是一个拥有数千万用户的创业公司,从2013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代.在如此快 ...
- linux NFS 实例
为了证明是 Allentunsgroup 组起的作用而非用户 [root@NFS_Client ~]# useradd scott1 [root@NFS_Client ~]# passwd scott ...
- 个人智能家居系统 - MQTT服务器搭建(centOS7.3)
个人智能家居系统 - MQTT服务器搭建(centOS7.3) 0x00 参考 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能 mos ...