数论&数学
文章平均质量分 69
数学题
SSL_DFT
这个作者很懒,什么都没留下…
展开
-
牛客挑战赛57 B 异或矩阵 【数学】【打表】【找规律】
牛客挑战赛57 B 异或矩阵题目描述思路这里先抛出一个我无法证明的结论:最大答案一定是 2k−12^k-12k−1,满足2(k−1)−1<n∗m<=2k−12^{(k-1)}-1<n*m<=2^k-12(k−1)−1<n∗m<=2k−1将其记作答案 ansansans然后我们打表找规律,暴力使用8重循环。我们发现,对于任意一个矩阵,总会找到一个答案矩阵,矩阵中的元素个数为2,(如果 n∗m=2k−1n*m=2^k-1n∗m=2k−1,那么答案就是这个数,原创 2022-02-19 11:46:45 · 611 阅读 · 0 评论 -
牛客挑战赛57 A 构造题【最大公约数】【玄学?】
牛客挑战赛57 A 构造题题目描述思路因为数据比较水,这题有太多玄学做法了(同机房有人第二个样例没过直接AC的)首先找到数组中的最小值amina_{min}amin,答案一定小于等于amin+1a_{min}+1amin+1然后用 nownownow 表示当前的最大答案,向后循环时now=max(gcd(now,a[i]),gcd(now,a[i]+1))now=max(gcd(now,a[i]),gcd(now,a[i]+1))now=max(gcd(now,a[i]),gcd(now,原创 2022-02-19 11:24:23 · 545 阅读 · 2 评论 -
【ybtoj高效进阶6-2-5】余数之和/【luogu】P2261 [CQOI2007] 余数求和【 数论】【整除分块】
【ybtoj高效进阶6-2-5】余数之和 /【luogu P2261】 [CQOI2007] 余数求和题目大意:给定 nnn , kkk,求∑i=1nk mod i\sum\limits_{i=1}^{n}k \bmod ii=1∑nkmodi思路:先来分析一下整除分块这种东西根据取模运算的性质,x mod y=x−y∗⌊xy⌋x\bmod y=x-y*\left \lfloor \frac{x}{y} \right \rfloorxmody=x−y∗⌊yx⌋则原式=∑i=1nk−i∗⌊ik原创 2021-12-04 15:13:45 · 359 阅读 · 0 评论 -
2021-10-06 洛谷提高B组模拟赛 B 看错题的产物改编而来的产物【结论】【最大公约数】
2021-10-06 洛谷提高B组模拟赛 B 看错题的产物改编而来的产物题面思路输出最大值就是答案证明:证明:证明:因为是子序列,所以排序并不会影响答案,所以我们从小到大排序我们考虑从这个有序的序列中取出 jjj个数 a1,a2,⋅⋅⋅,an; ai<ai+1a_1,a_2,···,a_n;~~~a_i<a_{i+1}a1,a2,⋅⋅⋅,an; ai<ai+1设 gcd(a1,a2,⋅⋅⋅an)原创 2021-10-07 16:05:47 · 102 阅读 · 0 评论 -
2021-09-28 洛谷模拟赛 T3 友谊序列 【结论】【位运算】
2021-09-28 洛谷模拟赛 T3 友谊序列题面思路:输出样例即可获得满分!!!人生第一次遇到如此哲学的题我们假设 ai xor bj=ak(bk)a_i~xor~b_j=a_k(b_k)ai xor bj=ak(bk)根据异或运算的规律,我们可以得到 ak(bk) xor bj(ai)=ai(bj)a_k(b_k)~xor~b_j(a_i)=a_i(b_j)ak(bk) xor bj(ai)=原创 2021-09-28 16:59:15 · 119 阅读 · 0 评论 -
2021-09-27 洛谷模拟赛 T1 年会小游戏【质数】【搜索】【数论】
2021-09-27 洛谷模拟赛 T1 年会小游戏原题 :反素数数据范围有变,处理一下 101810^{18}1018 时会爆 long longlong~~longlong long 的问题就好了或者使用 long doublelong~~doublelong double ?原来的题解代码:#include<iostream>#include<cstdio>#include&原创 2021-09-28 11:24:42 · 364 阅读 · 0 评论 -
2021-9-26 洛谷模拟赛 T2 超级蚯蚓 【数学】
2021-9-26 洛谷模拟赛 T2 超级蚯蚓 【数学】题目大意给你 n 条线段,你每次会随机选两个线段头合起来,问你和 n 次之后恰好变成一个大环的概率。思路:代码:#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#include<vector>#include<cmath>#原创 2021-09-27 07:44:22 · 117 阅读 · 0 评论 -
洛谷 P1919 【模板】A*B Problem升级版 【快速傅里叶变换 FFT】
【洛谷 P1919】 【模板】A*B Problem升级版题目大意给你两个超大整数 a,ba,ba,b,问 a∗ba*ba∗b其中 a,b≤101000000a,b\leq10^{1000000}a,b≤101000000思路高精度都是狗很明显,我们普通的高精度乘法不知道炸到哪里去了。我们发现对于一个 nnn 位的十进制数 KKK,我们可以看做一个 n−1n-1n−1 次的多项式,表示成A(x)=a0+a1∗10+a2∗102+⋅⋅⋅+an−1∗10n−1A(x)=a_0+a_1*10+a_2原创 2021-09-11 09:19:23 · 278 阅读 · 0 评论 -
快速傅里叶变换 FFT 学习笔记
文章目录FFT 学习笔记多项式:系数表示法:点值表示法:复数:前置芝士:向量:弧度制:定义:运算法则:FFT 学习笔记本文有错误之处请诸位大佬多多指正!FFTFFTFFT :快速傅里叶变换的英文缩写,快速傅里叶变换是对离散傅里叶变换 DFTDFTDFT 的优化,用来解决多项式上的操作如 卷积 等问题。多项式:系数表示法:一般在 初中 数学上,表示一个多项式我们用的是系数表示法设 A(x)A(x)A(x) 表示一个关于xxx 的 nnn 次的多项式,那么:A(x)=∑i=0nai∗xiA(x)原创 2021-09-10 19:43:40 · 410 阅读 · 0 评论 -
【洛谷 P5367】 【模板】康托展开【数论】【树状数组】
【洛谷 P5367】【模板】康托展开题目大意:给你一个排列,问你按照字典序它是第几个排列?思路:首先,最简单的暴力做法就是用深搜从头开始将所有排列按照字典序生成,看看这个排列在第几个位置。时间复杂度 O(n!)O(n!)O(n!),然后 n≤106n\leq 10^6n≤106,你算到宇宙灭亡估计都算不出来。所以这里我们引入康托展开,对于每一个排列 a[ ]a [~]a[ ],我们有:f[i]=∑j=i+1n(a[i]<a[j])f[i]=\sum_{j=i+1}^{原创 2021-08-30 09:58:47 · 205 阅读 · 0 评论 -
【洛谷 P5520】[yLOI2019] 青原樱 【组合数学】
[yLOI2019] 青原樱 【洛谷 P5520】好喜欢 《青原樱》这首歌, 带我入坑银临古风的 题歌。%%% 一扶苏一 dalao星川之下皆萤火尘埃,我独行在人潮你天真而待。相遇若是借丹青着色,青原上绯樱如海。晴昼秋岚皆入我襟怀,只岁暮天寒独对江心月白。谢此际春风带我慷慨,回眸处一川青黛。——《青原樱》题目大意:你有 mmm 朵花,有 nnn 个花盆,每朵花...原创 2021-08-27 12:10:38 · 234 阅读 · 0 评论 -
2021-08-24 SSL 模拟赛 T3【递推】【矩阵乘法】
2021-08-24 SSL 模拟赛 T3题目大意:题目描述已经不能再简单了······思路:比赛时唯一 AC 的题目。经过考场上的一番玄学乱推+对着样例模拟了一番,得到了一个递推式:f[i]=f[i−1]+f[i−2]+f[i−3] (f[1]=2,f[2]=4,f[3]=7)f[i]=f[i-1]+f[i-2]+f[i-3]~~~~~~~(f[1]=2,f[2]=4,f[3]=7)f[i]=f[i−1]+f原创 2021-08-25 08:18:48 · 86 阅读 · 0 评论 -
2021-08-19 SSL 模拟赛 T2 荒地群猎【数学】【前缀和】【思维题】【二分查找】
2021-08-19 SSL 模拟赛 T1 洛谷月赛终于又有题目了!!!题目大意:给出进制 p 以及 1~p-1 每个数的个数,设这些数组成的 p 进制数为 K问最大的 K 使得 K≡0(modp−1)K\equiv 0\pmod {p-1}K≡0(modp−1) 的 K 的从小到大的第 x 位是多少?思路:我就只推一波式子。对于一个 p 进制数 KKK,有:K=c0∗p0+c1∗p1+⋅⋅⋅⋅⋅⋅+ci∗piK=c_0*p^0+c_1*p^1+······+c_i*p^iK=c0∗p0原创 2021-08-19 21:55:26 · 80 阅读 · 0 评论 -
2021-08-19 SSL 模拟赛 T1 洛谷月赛【深度优先搜索 DFS】【约数】【RMQ】
2021-08-19 SSL 模拟赛 T1 洛谷月赛啊啊啊终于有题目了!!!题目大意:将某个序列划分为 k 段,问怎么划分才能使所有段中的最大值的 gcdgcdgcd 最大。思路:首先我们发现最后的答案一定是区间中最大数的约数,也就是 ans∣max(a[i])ans|max(a[i])ans∣max(a[i])。那么我们预处理出最大数的所有约数,然后从大到小枚举,判断该数能否成为答案。不过我们怎么判断呢?首先我们找到最大数的位置,按照这个位置将序列分成两半,在左,右半边查找最大数,如果原创 2021-08-19 21:08:56 · 89 阅读 · 0 评论 -
FFT板子
FFT 板子这里先放代码,等到彻底消化后再补博客理解证明。#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#include<cmath>#define r register#define rep(i,x,y) for(r ll i=x;i<=y;++i)#define per(i,x,y)原创 2021-08-16 21:43:40 · 98 阅读 · 0 评论 -
2021-08-16 SSL 模拟赛 T4 【斐波那契数列】【数学】【链表或并查集】
2021-08-16 SSL 模拟赛 T4Quantask 大爷,stoorz 大爷,my_dog 大爷 yyds!!!!!题目大意:给你一堆集合,每次操作可以往 [l,r][l,r][l,r] 内的集合加入一个数,或者询问从[l,r][l,r][l,r]的所有集合中是否存在三个数可以作为一个三角形的边长。思路:我们考虑一个集合内的数怎么样才能无法构成一个三角形。假设 a[1]=1,a[2]=2a[1]=1,a[2]=2a[1]=1,a[2]=2 那么min(a[3])=2min(a[3])原创 2021-08-16 19:05:31 · 158 阅读 · 0 评论 -
2021-08-16 SSL 模拟赛 T3 【约数】【思维】【数学】
2021-08-16 SSL 模拟赛 T3题目大意:求出1−n−11-n-11−n−1 中所有满足n−0.5xn−x=k, k∈N∗\frac{n-0.5x}{n-x}=k,~~k\in N*n−xn−0.5x=k, k∈N∗ 的 xxx。思路:我们来转化一下这个公式,让它变得好看一点:n−0.5xn−x=2n−x2n−2x=k\frac{n-0.5x}{n-x}=\frac{2n-x}{2n-2x}=kn−xn−0.5x=2n−2x2n−x=k原创 2021-08-16 16:40:51 · 82 阅读 · 0 评论 -
2021-08-16 SSL 模拟赛 T1【组合数学】【卢卡斯定理】
2021-08-16 SSL 模拟赛 T4【组合数学】【卢卡斯定理】题目大意给定多组数据 m,nm,nm,n 输出Cmn mod 2C_m^n\bmod 2Cmnmod2 的值思路:卢卡斯定理模板的弱化版 (逃)因为模数 p=2p=2p=2,所以逆元和阶乘的预处理达到了O(1)O(1)O(1)总的时间复杂度大概是O(T log n),需要使用快读快输O(T~log~n),需要使用快读快输O(T log n),需要使用快读快输听说还有推结论的O(T)O(原创 2021-08-16 12:00:37 · 89 阅读 · 0 评论 -
卢卡斯定理的证明
卢卡斯定理的证明文章目录卢卡斯定理的证明定义:证明:结论1:结论2:决战Lucas:感谢 TJH 大佬的博客!!!本文所涉及的除号 “/”“/”“/” 均表示整除后向下取整!!定义:对于非负整数 m,n,pm,n,pm,n,p 其中 ppp 是质数,有Cmn=∏i=0kCmini mod pC_m^n=\prod \limits_{i=0}^{k} C_{m_i}^{n_i}\bmod pCmn=i=0∏kCminimodp其中m=mkpk+⋅⋅⋅+m1p+m0,n=nkpk+⋅⋅⋅原创 2021-08-15 11:30:11 · 275 阅读 · 0 评论 -
【ybtoj高效进阶6-4-2】方案统计【卢卡斯定理】
【ybtoj高效进阶6-4-2】方案统计题目大意:给定 n,m 求Cnm mod 10007C_{n}^{m}\bmod 10007Cnmmod10007的值。思路:n,m的范围都比 10007 大,使用卢卡斯定理Cnm=Cn/pm/p∗Cn mod pm mod pC_{n}^{m}=C_{n/p}^{m/p}*C_{n\bmod p}^{m\bmod p}Cnm=Cn/pm/p∗Cnmodpmmodp不会卢卡斯定理的 戳这里这是一道比模板题还模板题的题。代码:#include&原创 2021-08-14 17:47:36 · 157 阅读 · 0 评论 -
【洛谷 P3807】【模板】卢卡斯定理/Lucas 定理
【洛谷 P3807 】【模板】卢卡斯定理/Lucas 定理题目大意:求出 n,m,p Cn+mm mod pC_{n+m}^m \bmod pCn+mmmodp 的值思路:我们发现 n,m,p 是一个数量级的。一般如果 p 恒比 n,m 大的话我们可以 愉快的 这样搞:Cnm mod p=n!m!(n−m)! mod pC_{n}^m \bmod p=\frac {n!}{m!(n-m)!} \bmod pCnmmodp=m!(n−m)!n!modp那么对(n−m)!和m!(n-m)!和原创 2021-08-14 17:29:45 · 233 阅读 · 0 评论 -
2021-08-12 SSL 模拟赛 T4【约数】
2021-08-12 SSL 模拟赛 T4没有标题的第 n>=(109 mod 10)n>=(10^9 \bmod 10)n>=(109mod10) 天原题:【洛谷 P4296 [AHOI2007] 密码箱】题目大意:求 1~n-1 中所有存在i2 mod n=0i^2\bmod n=0i2modn=0 的 i。思路:我们把式子转化一下形式,得到:(i+1)(i−1) mod n=0(i+1)(i-1) \bmod n=0(i+1)(i−1)modn=0即为(i+1)(i原创 2021-08-12 21:21:22 · 85 阅读 · 0 评论 -
2021-08-12 SSL 模拟赛 T1【组合数学】
2021-08-12 SSL 模拟赛 T1没有标题的第 n>=(109 mod 2)n>=(10^9 \bmod 2)n>=(109mod2) 天题目大意:如果一个数列存在一个位置使得该位置前面的数都单调递增,后面都单调递减则该数列被计入答案,则称之为 A 数列。问该 n 的全排列中有多少个 A 数列并取模。思路:首先我们知道 n 是可以随便放的,n 所在的位置就是题目中说的峰值。那么我们考虑 n 的位置,剩下的 n-1个数随便填。那么根据 哪的位置从前往后变化,位于 n原创 2021-08-12 20:23:09 · 88 阅读 · 0 评论 -
乘法逆元模板:【洛谷 P3811】
链接:【luogu P3811】这几天在做 ybtoj 的组合数学,经常要用到乘法逆元,就先去某谷上写了一会乘法逆元。乘法逆元的定义:若a∗x≡1(modb)a*x\equiv1 \pmod {b}a∗x≡1(modb),且a与b互质,那么我们就能定义: x 为 a 的逆元,记为a−1a^{-1}a−1,所以我们也可以称 x 为 a 在 mod ba~~在\bmod ba 在modb 意义下的倒数。求解方法:根据费马小定理,若p 为质数,a 是正整数,且原创 2021-08-11 20:58:23 · 149 阅读 · 0 评论 -
2021-08-11 SSL 模拟赛 T4
2021-08-11 SSL 模拟赛 T4啦啦啦,仍然依旧还是继续没有标题这道题其实是一道原题,原题链接:【ybtoj】/【洛谷】然后因为我已经写过一篇题解了,所以这里就不讲思路了,直接上代码。原来的题解代码:#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#define r register#def原创 2021-08-11 20:19:44 · 129 阅读 · 0 评论 -
【ybtoj高效进阶6-4-1】【luogu P1313】计算系数
【ybtoj高效进阶6-4-1】【luogu P1313】计算系数题目大意求 (ax+by)k(ax+by)^k(ax+by)k 中 xnymx^n y^mxnym项的系数思路:先考虑(x+y)k(x+y)^k(x+y)k,那么答案就是CnkC_n^kCnk,CCC 表示组合那你xnymx^n y^mxnym的时候系数就再乘上一个an∗bma^n*b^man∗bm就没有啦。那么求解组合还是一个技术活。众所周知:Cmn=m!n! ∗(m−n)!C_m^n= \frac{m!}{n!原创 2021-08-10 21:10:31 · 132 阅读 · 0 评论 -
2021-08-09 SSL 模拟赛 T4
2021-08-09 SSL 模拟赛 T4这道阴间的题目竟然还是没有题目!!!题目描述:有n个人依次排队打饭,有m种饭菜可以选择,每个人可能选择其中一种,如果相邻排队的人打的菜一样,那么就会影响彼此吃饭的心情,求这个队伍中有人被影响心情的状态数,对100003100003100003取余。输入一行整数依次给出m,n输出相应的状态数输入样例2 3输出样例6样例解释000 001011 100110 1116种数据范围30%: 1<=n<=20,1<=m&原创 2021-08-09 20:16:24 · 80 阅读 · 0 评论 -
【ybtoj高效进阶6-1-3】【luogu P3758】行为方案 / 可乐
【ybtoj高效进阶6-1-3】【luogu P3758】行为方案 / 可乐洛谷的数据加强版 :【luogu P5789】 可乐(数据加强版)题目大意:给你一个图,一开始你处于1号点,每一秒钟你可以干三件事:(1):通过某些连边走往另一个点;(2):呆在原地不动;(3):在原地爆炸。问过了 t 秒后你的行为方案总数是多少?思路:我们把呆在原地不动视为走了一个自环,原地爆炸看作走向了0号点。考虑进行动态规划,设 f[i][j][k]f[i][j][k]f[i][j][k]表示从 i 点原创 2021-08-08 15:38:23 · 154 阅读 · 0 评论 -
【ybtoj高效进阶6-2-4】【luogu P1463】反素数
【ybtoj高效进阶6-2-4】反素数题目大意:定义反素数:对于正整数 x ,其约数个数为 g(x)g(x)g(x) ,满足g(1),g(2)⋅⋅⋅⋅⋅g(x−1)g(1),g(2)·····g(x-1)g(1),g(2)⋅⋅⋅⋅⋅g(x−1)都小于 g(x)g(x)g(x)的 x 为反素数。现在让你求1-n中最大的反素数。思路:首先我们先来证明一些东西。(1):不同的质因子个数不会超过10,因为前10个质数的积为2∗3∗5∗7∗11∗13∗17∗19∗23∗29=6,469,693,230&g原创 2021-08-08 11:59:21 · 196 阅读 · 2 评论 -
【ybtoj高效进阶6-1-1】 序列的第k个数
【ybtoj高效进阶6-1-1】序列的第k个数题目大意:给你一个等差数列或者等比数列,让你输出它们第k项的值取模后的结果。思路:首先判断等差数列和等比数列,具体方法就不讲了(见代码)。等差数列的第k项比较好求,求出公差后乘上 k−1k-1k−1 就行了。等比数列也不难,求出公比后使用快速幂即可。代码:#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#i原创 2021-08-07 17:00:23 · 130 阅读 · 0 评论 -
矩阵乘法模板:斐波那契数列第n项
矩阵乘法模板:斐波那契数列第n项记录模板直接上矩阵乘法#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#include<cmath>#include<map>#define r register#define rep(i,x,y) for(r ll i=x;i<=y;++i)原创 2021-07-18 16:49:47 · 98 阅读 · 0 评论 -
【ybtoj高效进阶6-2-2】质数距离
【ybtoj高效进阶6-2-2】质数距离给出一道仅仅只是输出不同的题目:【luogu P1835】 素数密度题目大意:给你一个区间,让你输出这个区间中找到两个相邻质数,令它们的差有最大值和最小值,输出这两个质数。然后区间的左右端点L,R<=231−1,R−L<=106L,R<=2^{31}-1,R-L<=10^6L,R<=231−1,R−L<=106思路:看到此题的第一个想法是求出区间[1,R][1,R][1,R]的所有质数,然后在[L,R][L,R][L,原创 2021-07-31 19:43:19 · 115 阅读 · 0 评论 -
数论初步
数论初步数论初步数论初步GDKOI 冬令营,算是正式开始面对数论吧。(我太菜了)质数1.1-N的质数个数:π(x)=xlnx\pi (x)=\frac{x}{ln x}π(x)=lnxx2.试除法判断质数:复杂度O(n)O(\sqrt{n})O(n)3 埃斯托尼克筛法:复杂度 O(NloglogN)O(N log log N)O(NloglogN)4.欧拉筛/线性筛:复杂度O(N)O(N)O(N)附代码:int prime[1000*1001],top;bool pd[1000*100原创 2021-01-26 21:11:29 · 201 阅读 · 0 评论