![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
星星之火OIer
星星之火,终成燎原之势
展开
-
星星之火OIer:2019.1.5考试总结
2019.1.5考试总结这次的考试,总的来说考的不是很好先上题目:整数划分 地震造成的破坏 最长上升子序列第三题洛谷上没有,大概意思就是找一个包含第k个元素的最长上升子序列分析:第一道题知道怎么做,但懒得打高精,然后愉快暴零第二题打了个伪正解,然后骗了个样例,10分第三题本来打出正解的,但是在函数里的返回值错了,样例又很水,又是10分然后总分就是20:-(...原创 2019-01-09 13:49:45 · 265 阅读 · 2 评论 -
星星之火OIer:2019.4.11考试总结(一)——小凯的疑惑
这是2019.4.11考试中的第一题同样是NOIP2017提高组day1的第一题还是先给一下题::这是LGOJ上的题这道题据说是用的塞瓦维斯特定理,但百度上都搜不到就有点神奇了代码其实很简单::#include<cstdio>int a,b;int main() { read(a),read(b); pr(a*b-a-b);}这里...原创 2019-04-20 17:23:07 · 236 阅读 · 0 评论 -
星星之火OIer:快速幂、快速积
话说最近在学Miller_Rabin算法,顺便来提一下快速幂和快速积快速幂和快速积利用了二分的思想快速幂::快速幂用字母表示为:,根据幂的运算,可以把转换为所以这就是快速幂的由来递归::简要思路我们用来记录答案(预处理)每次把指数,先把平方,然后如果是奇数,再把代码int ksm(int a,int b,int n) {//a为底数,b为指数,为模数 ...原创 2019-04-24 14:11:15 · 184 阅读 · 0 评论 -
星星之火OIer:素数判断——Miller_Rabin
在这一讲中,我们来看一下如何判断一个素数常用的有种目录——普通判断——Miller Rabin素数测试法算法前置::算法流程::代码::——普通判断从到依次判断是否等于代码如下::for(int i=2;i<=int(sqrt(n));i++) if(n%i==0) { puts("Unprime");//将就看到起,我也...原创 2019-04-23 13:55:32 · 219 阅读 · 0 评论 -
星星之火OIer:素数筛法
这一讲中我们来谈一谈素数的筛法一共有种常用的筛法目录——线性筛——埃拉托斯特尼筛法——欧拉筛法——线性筛只要用循环一下,然后用的时间复杂度判断一下就好了最简单,但时间复杂度最高代码如下::for(int i=l;i<=r;i++) for(int j=2;j<=int(sqrt(i));j++) if(i%j==0) {...原创 2019-04-22 13:37:36 · 128 阅读 · 0 评论 -
星星之火OIer:矩阵加速例题(一)——TR的数列
在之前的讲解中我们已经初步了解了矩阵加速在这一讲中,我们就来更深入地了解一下矩阵加速斐波那契数列——番外番外篇——TR的数列题目描述:这道题首先确定原数组::然后我们定义那么我们看怎么用和推出::又因为::所以::自此,我们就可以定出原数组::即然后就可以推出这道题的加速数组::到需要再加即原数组的第三项所...原创 2019-04-09 13:38:18 · 268 阅读 · 0 评论 -
星星之火OIer:矩阵入门——矩阵及其应用
今天呢,我们来聊聊矩阵矩阵简介矩阵,大概就是这个样子的::这个矩阵有行列,他就是一个的矩阵,简称其中的每一个元素,都叫做元元素全是实数的矩阵称作实矩阵有复(虚)数的称为复矩阵行数都等于的称为阶(矩/方)阵矩阵中所有行=列的元素所在的线段为这个矩阵的主对角线所有行+列=的元素所在的线段为这个矩阵的辅对角线就是这两条对角线一个从开始,一个从开始每次往右下...原创 2019-04-08 14:05:09 · 406 阅读 · 0 评论 -
星星之火OIer:斐波那契数列——番外篇
在之前的两讲中,我们已经提到了斐波那契数列的算法在这一讲中,我们讲一讲关于斐波那契数列的另一道题::求斐波那契前项的和的值这道题,很难想到一个矩阵可以自乘得到所以还是写成两个矩阵吧我们设定::然后我们看怎样把变成首先,变成需要加一个即没有问题吧所以矩阵的第一列就是:第一个对应的是一个第二个对应的是一个第三个指的是没有再来看第二个...原创 2019-04-08 12:52:13 · 273 阅读 · 0 评论 -
星星之火OIer:2019.4.6考试题解(一)——计数
题目描述::这道题的解法很多,暴力首先,你可以暴力快速幂,就是一个高精乘和一个高精除以低精但是这样的时间复杂度实在高代码实现难度也大这里就不提供代码分解质因数以内的质数只有个所以你可以分解质因数然后看当前数的质因数是不是比的大给一份代码::#include<cstdio>#include<iostream>#i...原创 2019-04-11 13:38:25 · 327 阅读 · 0 评论 -
星星之火OIer:斐波那契数列——番外篇(二)
在作者的上一篇博客中,我们提到了矩阵加速的另一道题这次,我们来看一道LGOJ上的板题:P1939一句话题意::,求这道题是一道非常简单的矩阵加速题,可以用来练练手我们可以很轻松的想到原数组:也就是那么我们要构造一个的加速矩阵首先,直接可以变成所以加速矩阵的第一列就是然后,也可以直接由原数组得到所以加速矩阵的第二列就是最后,变到需要他本身再加上所以最后...原创 2019-04-10 13:04:09 · 165 阅读 · 0 评论 -
星星之火OIer:无关的元素
题目传送门(LGOJ)&&ZOJ&&UVAlife&&POJ&&UVA&&百练为什么我们网站的数据这么水又有1周没有出题解了,补一补这道题,我们粗略的推一下,发现这里面的每一项合并之后是杨辉三角形里的第行的每一个数,如图所示::样例中的5,对应的是杨辉三角形的第五排,第五排中模3余0的只有第三个...原创 2019-03-27 13:36:35 · 135 阅读 · 0 评论 -
星星之火OIer:斐波那契数列(二)——O(logn)算法(矩阵加速)
在上一讲中,我们已经了解了关于斐波那契数列的算法但是我们在上一讲留了一个问题当n几近于_时又该怎么处理呢那就要引入我们今天讲的::矩阵加速这个神奇的玩意可以将时间复杂度降至是不是很神奇!?下面开始我们的正题首先,让我们来了解了解矩阵::这个A就是一个的矩阵说直白点的矩阵就指的是一个长方形的东西里面有行列的,有这么多个数然后呢,矩阵有一些基本的...原创 2019-04-06 14:15:44 · 597 阅读 · 1 评论 -
星星之火OIer:机智的手机商
机智的手机商(容斥基础题)第一眼看过去,这哪里是容斥原理的题嘛,明明就是考空间力的题嘛乍一看还是可难的毕竟就算告诉你具体数值去硬算都要想很久并且还需要极强的空间力(硬算解出来的都可以去参加最强大脑)所以呢我们要巧解那么问题来了???怎么巧解我们首先以二维空间的题为例比如我们先给一张图::PS::背后不一定是正方形,将就看着然后呢,有一束光::...原创 2019-03-19 14:11:32 · 151 阅读 · 0 评论 -
星星之火OIer:盒子与球问题
既然社内讲到了排列组合,那还是出一篇盒子与球的博客吧。。。只想看结果而不需要推理过程的请跳到文末。。。PS:本文中的所有题目球的个数为n,盒的个数为m,且n必定大于m,也就是说球一定比盒子多!!!第一问::球不同,盒不同,可以不放完,可以有空盒答案::推理过程::因为盒子不同,且可以有空盒所以我们把手看做一个盒子这样每个球都可以有m+1种放法所以答案即为...原创 2019-03-18 14:00:25 · 440 阅读 · 0 评论 -
星星之火OIer:康拓&逆康拓展开
仅仅只是为了自己的另一篇博客水了一份概念康托展开是指一个全排列到一个自然数的双射,因为全排列是不重复的,所以也有逆康拓展开在八数码问题中,如果想法简单一点,直接用数组987654321来开,就算是bool类型也会爆但是用康托展开映射后,最大只需要开到,空间复杂度降低了不少如何实现康拓令x为康托展开后的对应值这里的A[i]表示在i后面还有几个比它本身小的值...原创 2019-06-11 13:26:08 · 141 阅读 · 0 评论