初等数论学习笔记 I:同余相关。 1. Miller-Rabin Miller-Rabin 素性测试是常见的 随机性 素数判定方法。 这里的随机指有一定概率将合数判定为素数,但不会将素数判定为合数。 素数判定的基本思路是,根据所有质数均具有但很少合数具有的性质,检查被判定的数是否具有这些性质。若不具有,
\(CF717\ Festival\ Organization\) Description 一个合法的串定义为:长度在 \([l,r]\) 之间,且只含 \(0,1\),并且不存在连续 \(2\) 个或更多的 \(0\)。 现在要选出 \(k\) 个长度相同的合法的串,问有几种选法,答案模 \(10^9+7\)。 Solution 初始形式比较易得 \[\sum_{i=l+2}^{r+2}\bino
\(\quad\)对于莫队的复杂度计算,我们首先块长,然后分别分析左右端点的移动,然后就会得到一个式子,为了使这个式子最小,适当调整分块块长即可。 普通莫队 \(\quad\)对于普通莫队,一般的复杂度是 $O(n\sqrt n) $ 。 \(\quad\)最优的分块方式是对于端点分块,块长为 \(\frac{n}{\sqrt m}\) ,然
区间本质不同逆序对,要求线性空间。 \(\mathcal O(n \sqrt n \times \sqrt n)\) 应该谁都会做,而且谁都知道不能过。 回顾 P5047,考虑莫队二次离线。 记 \(f(l,r)\) 为 \([l,r]\) 中 \(>a_r\) 的数的种类数。 则区间转移从 \([l,r-1]\) 变成 \([l,r]\),令 \(r'\) 为 \(a_r\) 上一次出
区间本质不同逆序对。 \(\mathcal O(n \sqrt n \times \sqrt n)\) 应该谁都会做,而且谁都知道不能过。 回顾 P5047,考虑莫队二次离线。 记 \(f(l,r)\) 为 \([l,r]\) 中 \(>a_r\) 的数的种类数。 则区间转移从 \([l,r-1]\) 变成 \([l,r]\),令 \(r'\) 为 \(a_r\) 上一次出现的位置,则贡
用最小的圆覆盖平面上的n个点,通常采用O(n)的随机增量法。 定理:如果点集S的最小覆盖圆覆盖不了P,那么{P∪S}的最小覆盖圆一定过P。 首先将n个点random_shuffle。 设当前的⚪是C,如果枚举到Pi在圆外,则限定Pi在圆上,从1 ~ i-1枚举j,如果枚举到Pj在圆外,则限定Pj在圆上,从1 ~ j-1枚举k,如果枚
题意: 背包问题:两种物品各无限个,体积分别为 \(c_1,c_2\),价值分别为 \(v_1,v_2\),背包容积为 \(C\),求最大价值 范围 \([1,1e9]\) 思路: 枚举!怎么优化? 若某种物品的体积大于 \(\sqrt C\),直接枚举这种物品的数量,不超过 \(\sqrt C\) 次。 否则,不妨设 \(\frac{v_1}{c_1} \le \frac{v_2}{c_
等差数列加 根号分治 等差数列加 - 题目 - Daimayuan Online Judge 设一个阈值 \(M\) 给等差数列的位置上加 k 若公差 d >= M, 则暴力加,每次操作复杂度最高为 \(O(\frac nM)\) 若公差 d < M, 则可以打标记记录下公差为 \(d\), 第一个加的位置为 \(y\) ,给这个等差数列打上一个 +k
正题 题目链接:https://www.luogu.com.cn/problem/P8330 题目大意 给出一个长度为\(n\)的序列\(a\),你可以选择其中一个区间将其加上任意整数,要求这个序列的众数出现次数最多。 输出最多次数和可能的众数。 \(1\leq n\leq 2\times 10^5,1\leq a_i\leq 10^9,\sum n\leq 5\times 10^
太阳神 求满足如下条件的数对$(a,b)$对数:$a,b$均为正整数且$a,b \leq n$而$lcm(a,b)>n$。 答案对$10^9+7$取模 $n\leq 10^{10}$. 原题题解写的看不懂 题意即为求 $\sum _{a=1} ^{N} \sum _{b=1} ^{N} [lcm(a,b)>N]$. 转化为 $N^2-\sum _{a=1} ^{N} \sum _{b=1} ^{N} [a*b/gcd(a,b
实际上是基建 二次函数弧长公式推导 对于二次函数 \(f(x)=ax^2+bx+c\),该函数在区间 \([A,B]\) 中的弧长应为 \[\int_A^B \sqrt{1+f'(x)^2}{\rm d}x \]我们需要求出不定积分 \[\int \sqrt{1+f'(x)^2}\,{\rm d}x \]考虑三角换元,设 \(\tan\theta=f'(x)\),则有 \(\sqrt{1+f'(x)^2}=\sqr
P8353 [SDOI/SXOI2022] 无处存储 树路径加值路径求和,强制在线。 \(n \leq 7\times 10^6\),\(q \leq 5\times 10^4\),时限 \(5\text{s}\),空限 \(64\text{MB}\)。 sol 看空间限制,\(\mathcal O(n)\) 大小的数组最多只能开两个。 首先排除线段树做法,树状数组做法三个 \(\mathcal O(n)\),
正弦sine,对边与斜边的比值 余弦cosine,邻边与斜边的比值 正切tangent,对边与邻边的比值 cot,邻边与对边的比值 互余的角,比值余 \(30^\circ,45^\circ,60^\circ\)角的正弦余弦正切表: \(30^\circ\) \(45^\circ\) \(60^\circ\) \(\sin A\) \(\dfrac{1}{2}\) \(\dfrac{\sqrt{2}}{2
分块求最优块长时,往往可以通过令两项相等得到,原因是其中一项复杂度单增,另一项单减,而复杂度取决于较大者,所以令两者相等。 log(块长)通常为了方便计算可以看成log(N),当块长为\(\sqrt{N}\)时,两者差一个2倍常数。 莫队复杂度精确来讲为\(O(n\sqrt{m})*O(修改)+O(m)*O(查询)\) 莫队中端
有一元二次方程: \[\Large ax^2+bx+c=0\quad(a\ne 0) \]其两个根为: \[\Large x_1=\frac{-b+\sqrt{b^2-4ac}}{2a},x_2\frac{-b-\sqrt{b^2-4ac}}{2a} \quad(\vartriangle=b^2-4ac\geqslant0)\]有: \[\Large x_1+x_2=-\frac{b}{a}\\\Large x_1 \cdot x_2=\frac{c}{a}
我的 BSGS 和各位犇犇的差不多,但是不需要求逆元 Luogu [ TJOI2007 ] 可爱的质数 原题展现 题目描述 给定一个质数 \(p\),以及一个整数 \(b\),一个整数 \(n\),现在要求你计算一个最小的非负整数 \(l\),满足 \(b^l \equiv n \pmod p\)。 输入格式 仅一行,有 \(3\) 个整数,依次代表 \(p, b,
P5608 [Ynoi2013] 文化课 用线段树维护。对于区间修改符号的操作,记录区间的数字之和以及数字积即可。对于区间修改数字的操作,发现修改后的值无法快速求出来,考虑在每个线段树的节点 \(p\) 上,记录二元组的集合 \(S_p=\{(c_i,d_i)\mid 1\le i\le len_p\}\),表示长为 \(c_i\) 的极长乘
基础 标题 #表示一级标题 以此类推 支持六种标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 引用 应用用>表示 > 这是应用 分割线用***或者---表示 --- 强调 *斜体* **加粗
生成函数 生成函数(generating function),又称母函数,是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。 生成函数有许多不同的种类,但大多可以表示为单一的形式: \[F(x) = \sum_{n}a_nk_n(x) \]其中 \(k_n(x)\) 被称为核函数,不同的核函数会导出不同的生成函数,分成3类 普通
U185835 【模板】光速幂 给定底数 \(x\),模数 \(p\),\(n\) 次询问对于不同的指数 \(a_i\),\(x^{a_i} \bmod p\) 的值。 对于 \(5e6\) 的询问量,一般的 \(O (n\log n)\) 快速幂已经不适用。 这里说一种 \(O(\sqrt{p})\) 预处理,\(O(1)\) 查询的光速幂。 记 \(S=\sqrt{p}+1\),那么 \(x^a
1. a=randn(10,5)+10; ma=max(max(a)) mi=min(min(a)) s=sum(a,2) sa=sum(sum(a)) P=sort(a) p1=sort(-a,2) 2. n=(1:10).^2;f=sqrt(n);interp1(n,f,(1:100),'cubic') 3. n=6:2:18;f1=[18 20 22 25 30 28 24];f2=[15 19 24 28 34 32 30];r=6.5:2:17.5;w=interp1(n
常见数 ps:俺觉得学常见数,更多的可以说是借着常见数来学习如何推公式,以及其中dp状态转移的化简,对子问题的划分xd 1.卡特兰数(Catalan Number) ps:这篇博客说的应用非常好,但是太多了,贴个链接 https://zhuanlan.zhihu.com/p/31317307 (1) 定义: 设卡特兰数的第\(n\)项为\(h(n)\),\(h(0)=
数形结合百般好!!! 题目 如图一,在\(四边形_{ABCD}\) 中,\(AB \parallel CD,AB \perp BC\),\(动点P\) 从 \(点B\) 出发,沿着\(B\rightarrow C\rightarrow D\rightarrow A\) 方向运动,到\(点A\) 停止,设\(点P\)运动路程为\(x\),\(\triangle ABP\) 的面积为\(y\),如果\(y\) 与\(x\) 的函数图像
> x<-1:10 > y<-x^2 > plot(x,y) > plot(x,y,ylab=expression(x^y)) > plot(1:10,ylab=expression(a[b])) x<-1:10 > y<-sqrt(x) > plot(x,y,ylab=expression(y==sqrt(x)))
1 package com.company; 2 3 4 import org.junit.Test; 5 6 public class Lesson3_2 { 7 8 /** 9 * @Description: 计算大于1的正整数之平方根 10 * @param n-待求的数, deltaThreshold-误差的阈值, maxTry-二分查找的最大次数 11 * @return