数论
文章平均质量分 93
数论习题总结
Gene_INNOCENT
Wait for the sunrise!
展开
-
组合计数基础
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。在算法竞赛中,数学主要分为「数论」与「组合计数」两大部分。相比「数论」,「组合计数」通常是作为一种计数思想与其他题型(例如「动态规划」)相结合,进行统一考察。在上一篇文章中,我们已针对「数论」进行了讲解,因此本文将介绍「组合计数」。排列组合加法原理若完成一个任务的方法有 nnn 类,其中第 iii 类方法有 xix_ixi 种不同的做法,则完成这个任务共有 x1+x2+.原创 2021-03-17 00:15:56 · 299 阅读 · 0 评论 -
刷算法题必备的基础数论知识
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。在力扣刷题时,「数学」是大家绕不过去的内容。事实上,力扣题库中标签为「数学」的题共有 208 道,仅次于 243 道的「动态规划」。然而对比「动态规划」,力扣题库中「数学」所涉及到的知识则要少很多,因此本篇文章将针对题库中「数学」所涉及的基础必备知识进行讲解,希望对大家日后刷题有所帮助。基础运算在「基础运算」部分,我们将主要介绍「位运算」与「快速幂」两个知识点。这两种运算方法原创 2020-12-05 23:50:01 · 844 阅读 · 0 评论 -
【Nowcoder - 5670 C Easy】2020牛客暑期多校训练营(第五场)【生成函数、组合数学】
题意若序列 AAA、BBB 满足 ∑i=1Kai=N,∑i=1Kbi=M\sum\limits_{i=1}^K a_i=N,\sum\limits_{i=1}^K b_i=Mi=1∑Kai=N,i=1∑Kbi=M,则其对答案贡献为 P=∏i=1Kmin(ai,bi)P=\prod\limits_{i=1}^K\min(a_i,b_i)P=i=1∏Kmin(ai,bi),问所有满足条件的序列的总贡献是多少?(1≤N,M≤106,1≤K≤min(N,M))(1\leq N,M\leq 10原创 2020-09-07 17:22:10 · 289 阅读 · 0 评论 -
拉格朗日乘子法总结(等式约束、不等式约束、非线性规划、KKT 条件)
前言本文主要对拉格朗日乘子法进行总结,具体原理可以参考这两篇文章:友情链接 1友情链接 2如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。拉格朗日乘子法基本的拉格朗日乘子法主要是针对等式约束下的非线性方程最优化问题,具体形式如下:{max f(x)s.t. g(x)=0\left\{\begin{aligned}\max & \ \ f(\textbf{x}原创 2020-08-31 00:27:50 · 9489 阅读 · 2 评论 -
常见公式推导整理
1. F(n)=∑x=1nx∗2xF(n) = \sum\limits_{x=1}^{n}x*2^xF(n)=x=1∑nx∗2x错位相减,直接求出答案 F(n)=(n−1)∗2n+1+2F(n)=(n-1)*2^{n+1}+2F(n)=(n−1)∗2n+1+2。2. F(n)=∑x=1n2x∗x2F(n) = \sum\limits_{x=1}^{n}2^x*x^2F(n)=x=1∑n2...原创 2019-05-02 20:29:38 · 1012 阅读 · 0 评论 -
【CF Contest-1228 E】Another Filling the Grid【容斥】
题意:给定一个 n∗nn*nn∗n 的格子,每个格子填写 [1,k][1,k][1,k] 的一个数,保证每行每列至少有一个 111,输出有多少种填写方案。(1≤n≤250,1≤k≤109)(1\leq n\leq 250,1\leq k\leq 10^9)(1≤n≤250,1≤k≤109)思路:这个题可以用 dpdpdp 思考,f[i][j]f[i][j]f[i][j] 表示前 iii 行...原创 2019-10-18 22:21:24 · 281 阅读 · 0 评论 -
卡特兰数详解
卡特兰数一、基础公式定义式f[n]=∑i=0n−1f[i]∗f[n−1−i]f[n]=\sum\limits_{i=0}^{n-1}f[i]*f[n-1-i]f[n]=i=0∑n−1f[i]∗f[n−1−i]组合数公式 (用生成函数推导定义式)f[n]=C2nn−C2nn−1f[n]=C_{2n}^n-C_{2n}^{n-1}f[n]=C2nn−C2nn−1f[n]...原创 2019-09-08 21:32:02 · 483 阅读 · 0 评论 -
莫比乌斯反演汇总【算法+题目】
前置知识:u(N)u(N)u(N) 取值:u(1)=1u(1)=1u(1)=1NNN中所有质因子各不相同,若NNN有偶数个质因子,u(N)=1u(N)=1u(N)=1,若NNN有奇数个质因子,u(N)=−1u(N)=-1u(N)=−1其他情况u(N)=0u(N)=0u(N)=0∑d∣nu(d)={1 (n=1)0 (n...原创 2019-05-17 22:03:38 · 2023 阅读 · 0 评论 -
【2016 ACM-ICPC 曼谷区域赛 Gym-101161 G】Binary Strings【矩阵快速幂】
题意:010101串,不包含两个连续的 111。要求给出满足下述三个条件的 010101 串的个数。(答案模 1e9+71e9+71e9+7)010101串长度在 [L,R][L,R][L,R] 之间 (1≤L≤R≤1018)(1\leq L\leq R\leq 10^{18})(1≤L≤R≤1018)010101串长度是 KKK 的倍数 (1≤K≤109)(1\leq K\leq 10^...原创 2019-07-24 20:34:40 · 1413 阅读 · 1 评论 -
POJ - 3233 —— 矩阵快速幂(分块矩阵与递归)
题干: 求A + A^2 + A^3 +...+ A^k思路:第一种做法:(递归) 从小栗子开始思考 —— S = A + A^2 + A^3 + ... + A^6则 S = (A + A^2 + A^3)*(E + A^3)= 【 A * (E + A)+ A^3】* (E + A^3)发现可以将长度不断减半,可以进行递归,然后写出递归公式S(k)...原创 2018-05-19 15:52:45 · 874 阅读 · 1 评论 -
【2019 NWERC - D 】Disposable Switches【最短路、单调栈、数学思维】
题意nnn 个点,mmm 条边的有权无向图。每条边的花费定义为 lv+c\displaystyle\frac{l}{v}+cvl+c,其中 l,v,cl,v,cl,v,c 分别为路径长度、传输速度、固定开销。每次传输时会从图中找一条开销最小的路径,其中 v,cv,cv,c 为满足 v>0,c≥0v>0,c\geq 0v>0,c≥0 条件下的任意值,问是否存在一些点始终不会出现...原创 2020-04-06 10:26:14 · 668 阅读 · 3 评论 -
【AtCoder Grand Contest 036 B】Do Not Duplicate【循环节】
题意:给出一个数组 A=(A0,A1,...,AN−1)A=(A_0,A_1,...,A_{N-1})A=(A0,A1,...,AN−1),进行 KKK 次循环。每次循环,将数组 AAA 中的数字加入到结果数组中。如果加入的数字之前出现过,则将两者之间的数字全部清空,否则将该数字加入到结果数组中。(1≤N≤2∗105,1≤K≤1012,1≤Ai≤2∗105)(1\leq N\leq 2*1...原创 2019-07-22 18:06:41 · 1438 阅读 · 0 评论 -
【Codeforces Round #317 Div1 —— A】Lengthening Sticks【数学思维题】
题意:给出三个木棒的长度为aaa、bbb、ccc,再给出一个长度 lll 用来增加三根木棒的长度。三根木棒长度增加之和不能超过lll,可以为000。问有多少种增长方案使得这三根木棒可以拼成一个三角形。(1≤a,b,c≤3∗105,0≤l≤3∗105)(1\leq a,b,c\leq 3*10^5,0\leq l\leq 3*10^5)(1≤a,b,c≤3∗105,0≤l≤3∗105)思路:...原创 2019-05-25 13:27:26 · 1150 阅读 · 0 评论 -
【51nod 1439】互斥对【容斥原理】
题意给定一个长度为 nnn 的数组,a[1],a[2],...,a[n]a[1],a[2],...,a[n]a[1],a[2],...,a[n]。维护一个集合,一开始集合为空。一共有 qqq 次操作,每次操作给定一个下标 pospospos,如果 a[pos]a[pos]a[pos] 已经在集合中,则将 a[pos]a[pos]a[pos] 从集合中删除,否则将 a[pos]a[pos]a[pos] 加入集合。注意,集合允许有重复的数字。(1≤n,q≤2∗105,1≤a[i]≤5∗105,1≤pos≤n)原创 2020-07-05 18:45:14 · 334 阅读 · 0 评论 -
【2019 BAPC - D】Deck Randomisation【中国剩余定理 + 循环节】
题意洗牌游戏。初始顺序为 1~n1~n1~n,AliceAliceAlice 与 BobBobBob 轮流操作此牌堆。AliceAliceAlice 操作时会将位置 iii 上的牌移到 a[i]a[i]a[i] 上;BobBobBob 操作时会将位置 iii 上的牌移到 b[i]b[i]b[i] 上,问最少移动多少次桌上的牌会恢复原状,若 101210^{12}1012 次内无法还原,则输出 h...原创 2020-03-23 00:03:56 · 460 阅读 · 1 评论 -
【HDU - 4565】So Easy!【数学思维题】
题意:Sn=⌈(a+b)n⌉%m,0<a,m<215,(a−1)2<b<a2,0<b,n<231S_n=\lceil (a+\sqrt{b})^n \rceil \%m,0<a,m<2^{15},(a-1)^2<b<a^2,0<b,n&...原创 2019-07-22 11:01:27 · 1355 阅读 · 0 评论 -
【GYM-100889 D】Dicy Numbers【数学推导求解】
题意:求 S(N,M)S(N,M)S(N,M) 的个数,x∈S(N,M)x\in S(N,M)x∈S(N,M) 当且仅当 xxx 的约数个数为 nnn,且所有的质因数均小于等于第 MMM 个质数。(1≤N≤2∗106,1≤M≤109)(1\leq N\leq 2*10^6,1\leq M\leq 10^9)(1≤N≤2∗106,1≤M≤109)思路:此题应考虑从每个质数进行着手,将题目化简...原创 2019-07-24 19:55:12 · 186 阅读 · 0 评论 -
高斯整数、高斯素数、费马平方和定理
高斯整数a=x+y∗i (x,y∈Z)a = x+y*i\ \ (x,y\in Z)a=x+y∗i (x,y∈Z),则 aaa 为高斯整数。aaa 的范为 N(a)=∣a2∣=x2+y2N(a)=|a^2|=x^2+y^2N(a)=∣a2∣=x2+y2。若存在高斯整数 yyy,使得 ay=1ay=1ay=1,则 aaa 为高斯整数中的乘法可逆元,...原创 2019-07-18 16:07:46 · 4904 阅读 · 0 评论 -
【POJ 2689】Prime Distance【埃氏筛与线性筛】
题意: 求出区间 [L, R] 中相邻两个质数的差最大是多少,最小是多少,分别输出对应质数。R-L <= 1e6,1 <= L <= R <= 2^31.思路: 首先可以注意到,区间长度小于1e6,因此我们是可以枚举区间中所有数,判断是不是素数。但是我们不可能对于每个数字,都用根号的复杂度来判断。因此考虑到了筛。 首...原创 2019-03-05 16:48:07 · 1296 阅读 · 0 评论 -
【算法竞赛进阶指南 0x31 质数】阶乘分解【唯一分解定理】
题意: 对N!进行唯一分解,输出每个质数,以及质数的指数。(1 <= N <= 1e6) 题目地址 ——http://contest-hunter.org:83/contest/0x30「数学知识」例题/3101%20阶乘分解思路: 这题是个很大的数据,暴力计算的话,复杂度很高。对于这种大量相同元素构成一个整体的题目,我们需要...原创 2019-03-05 16:59:43 · 326 阅读 · 0 评论 -
【BZOJ 1053】反素数【素数基本知识】
题意: 对于任何正整数 x ,其约数的个数记为 g(x)。如果某个正整数 x 满足:对于任意的 0 < i < x,都有g(x) > g(i),那么x为反质数。例如整数 1,2,4,6等都是反质数。先给定一个数 N,求出不超过 N 的最大的反质数。思路: 首先需要考虑到几个性质,前10个质因子的乘积大于1e9,并且唯一分解后,所有质数的指...原创 2019-03-12 22:52:23 · 1494 阅读 · 0 评论 -
【BZOJ 1257】余数之和【整除优化】
题目:给定正整数n和k,计算 (k mod 1)+(k mod 2)+…+(k mod n) 的值。1 &lt;= n,k &lt;= 1e9 .思路:首先我们可以先将式子进行转换,k&nbsp;mod&nbsp;i=k−⌊x⌋原式=n∗k−∑i=1ni∗⌊k/i⌋ k\ mod\ i = k - \lfloor x \rfloor \\ 原式=n*k-\sum\limits_{i=1}...原创 2019-03-13 15:21:13 · 1312 阅读 · 0 评论 -
【HDU 6274】Master of sequence【二分答案+下取整转换】
题意:给定长度为 nnn 的序列 aaa 与序列 bbb,mmm次操作,操作一共有三种类型。· 1 x y1 \ x \ y1 x y:令 ax=ya_x=yax=y· 2 x y2\ x\ y2 x y:令 bx=yb_x=ybx=y· 3 k3\ k3 k:询问 minminmin{...原创 2019-04-06 11:20:58 · 222 阅读 · 0 评论 -
【 Codeforces Round #552 (Div. 3) G】Minimum Possible LCM【埃氏筛】
题意:给出nnn个数字,从nnn个数字中选两个,使其lcmlcmlcm最大,输出选的两个数字的编号。(2≤n≤106,1≤ai≤107)(2\leq n\leq 10^6,1\leq a_i\leq 10^7)(2≤n≤106,1≤ai≤107)思路:lcm(a,b)=a∗bgcd(a,b)lcm(a,b)=\frac{a*b}{gcd(a,b)}lcm(a,b)=gcd(a,b)a∗b...原创 2019-04-17 11:15:48 · 162 阅读 · 0 评论 -
【 Codeforces Round #395 (Div. 2) E】Timofey and remoduling【数学思维题 —— 等差/等比数列】
题意:有n个不同的数字, 给定mmm,mmm为质数。问是否能够用这nnn个数字构造出一个模m意义下的等差数列,如果可以,请给出首项和公差。(2≤m≤109+7,1≤n≤105)(2\leq m\leq 10^9+7,1\leq n\leq 10^5)(2≤m≤109+7,1≤n≤105)思路:比赛时没有思路,赛后参考了quality的解法。首先先介绍等差数列求和公式和平方项求和公式。...原创 2019-04-17 12:48:53 · 339 阅读 · 0 评论 -
线性基算法完整总结
线性基概述一、定义设数集TTT为一组数任意子集异或得到的集合。TTT的线性基是TTT的一个子集 A=A=A= { a1,a2,a3,...,ana_1,a_2,a_3,...,a_na1,a2,a3,...,an}。AAA中元素互相xorxorxor所形成的异或集合,等价于原数集TTT的元素互相xorxorxor形成的异或集合。可以理解为将原数集进行了压缩。二、性质线性基...原创 2019-07-22 15:45:29 · 1694 阅读 · 0 评论 -
【HDU - 4794】Arnold【斐波那契数列循环节】
题意:给出一个 N∗NN*NN∗N 的方格,每一次变换,(x,y)(x,y)(x,y) 变成 ((x+y)%N,(x+2∗y)%N)((x+y)\%N,(x+2*y)\%N)((x+y)%N,(x+2∗y)%N),问经过最少多少次变换,可以变换成原来的方格。(2≤N≤4∗109)(2\leq N\leq 4*10^9)(2≤N≤4∗109)思路:先打表,对于每一个格子打表找到最少步数,然后...原创 2019-08-26 14:55:37 · 283 阅读 · 0 评论 -
最短路应用 —— 解决某些计数、数论问题
1. Elevator (Gym-241680 E)题意: 一个高度为 hhh 的电梯,初始位置在第一层。电梯有四个按钮。向上移动 aaa 格向上移动 bbb 格向上移动 ccc 格返回第一层问 1~h1~h1~h 层中有多少层是可达的。(1≤h≤1018,1≤a,b,c≤100000)(1\leq h\leq 10^{18},1\leq a,b,c\leq 100000)(1≤h...原创 2019-09-04 13:29:37 · 1310 阅读 · 0 评论 -
【数学题】Multicolored Markers【codeforces-Round #506-div3-F】
题意: 给定一张图,在图上的瓷砖上进行涂色,共红、蓝两种颜色。需要给a个瓷砖涂红色,b个瓷砖涂蓝色。 要求最后涂完之后,a+b块瓷砖能够组成一个矩形,并且红色部分或者蓝色部分需要组成一个矩形。 求该条件下矩形的最小周长。思路: 一开始拿到该题,想的是既然面积是确定的,需要求边长,那是不是可以考虑基本不等式进行一下计算。然后便发现这种思路错的...原创 2018-08-26 21:45:24 · 271 阅读 · 0 评论 -
【Gym - 101234G】Dreamoon and NightMarket 【子集中第K大元素】
题意: 给定一个数组,数组中元素一共为n个,将这 n 个元素放入集合中,要求 按照子集中元素累计值 从小到大的方式 输出排序为第 k 的子集的累加值。思路: 这应该属于一类经典问题。 我们先来回忆一下如何枚举所有子集的情况,可以用 dfs 依次枚举所有的情况。 那我们再来思考一下如何用最小的时间复杂度,将这么多种情况进行排序...原创 2018-08-31 14:23:12 · 567 阅读 · 0 评论 -
【Gym - 101848D】XOR【多个数异或的典型问题】【费马小定理】
题意: 给定三个数,三个数分别为n、k、p,然后给定一个非空集合,集合内元素为 { 0 , 1 , 2 , ... , (2^n)-1 },现在要求你从这个集合中选取任意个数,使你选取的数的异或和为 k ,请将最后的结果数 %p 输出。【p是一个素数】思路: 本题用到了费马小定理的知识,以及一个常见的思考 异或和 问题的方式。 我们先思考 ...原创 2018-08-31 15:57:53 · 3448 阅读 · 0 评论 -
min-max容斥【概念+例题解析】
min-max容斥公式: T为S中的子集,累加符号表示要求出S中的所有子集进行计算。max(S): 表示S集合中出现元素的期望最大值,即所有元素全部出现时的期望。min(T): 表示T集合中出现元素的期望最小值,即只要出现元素即可。 证明过程如果想要了解可以自行百度,涉及二项式反演内容。例题1【h...原创 2018-09-05 11:18:27 · 2565 阅读 · 0 评论 -
【2011-2012 ACM-ICPC Northeastern European Regional Contest (NEERC 11) G】GCD Guessing Game【数论思维题】
题意: 给出一个数字n,答案数字在1-n中。然后你猜测一个数字,系统会给出你猜测的数字和答案数字的gcd,问最坏情况下最少需要猜多少次可以猜出答案数字。 思路: 可以这样思考,你猜一个数字,系统返回这个数字与答案数字的gcd,只要gcd不是1,则答案数字的范围缩小了gcd倍,也就是说如果返回的gcd一直不是1,那么可以很快求出答案数字。所以最坏的情况就是gc...原创 2019-02-16 18:08:13 · 294 阅读 · 0 评论