数论
KageMushaHRo
懒 狗
展开
-
差分定义及基础性质
在做洛谷P2367语文成绩这道题的时候,发现用的就是一些差分的基础知识,于是乎就心血来潮写下了这篇文章一、什么是差分差分,先从这个词的构成角度来看,应该是与两数之差以及分块思想有关。让我们先给定一个简单数列:arr[1] = 1;arr[2] = 2;arr[3] = 4;那我们的差分是怎么定义的呢,且看://d数组记录的就是差分d[1] = arr[1] = 1;d[2] = arr[2] - arr[1] = 1;d[3] = arr[3] - arr[2] = 2;d[4]原创 2020-06-06 21:39:49 · 4379 阅读 · 0 评论 -
筛选质数
首先,先简单介绍一下质数。如果一个数能被除1和其本身以外的数整除,那它就是合数,否则就是质数。1 既不是质数也不是合数。接下来,介绍三种筛选质数的方法。一、普通筛选法最简单的筛选方法,直接通过定义然后枚举写出代码//普通bool isPrime(int x) { if (x <= 1) return false; int sqr = (int)(x * 1.0); for (int i = 2; i <= sqr; i++) if (x % i == 0) return原创 2020-05-19 15:59:12 · 979 阅读 · 0 评论 -
P1010 幂次方
P1010很久以前写的一道题,一道简单的模拟题或者是数学题?一看题面,很明显能想到用二进制的思想比如:13用二进制表示就是1101,也即13= 2^0 + 2^2 + 2^3所以此题就是相当于在找二进制数中1的位置下标怎么找?用移位运算右移位: 二进制数往右移一位,相当于此数除以2,对应的还有左移位 如 1原创 2020-05-19 13:30:15 · 140 阅读 · 0 评论 -
P1009 阶乘之和
P1009高精度+阶乘很久以前刚开始搞算法写的一道题,不难,可作为新手题。那时码风还有点奇怪~思路: 用arr数组,从1开始,存储每次乘一个数(高精度乘低精度)的结果 (即为当前数的阶乘),然后每乘完一次就进行一次加法(高精度加高精度),结果存储在ans数组中,最后逆序输出即可。注意代码中细节!话不多说,干代码:#include <cctype>#include <string>#include <stack>#include <set>#原创 2020-05-19 13:07:07 · 184 阅读 · 0 评论