
数论
文章平均质量分 72
磨人的数论的内容
nagisa-kun
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #548 (Div. 2) 1139 D+2021天梯赛l3-3 解题报告(负二项式分布+莫比乌斯容斥+杜教筛(天梯赛))
以下是我这道题的思考过程:(1)、若选到1,那直接就能结束了。(2)、若选到其他的数,则我们需要继续选下去,直到选到一个和前面的一个数互质的数。想到互质,可以想到和质数相关。思考极限情况,我们可以想象这一过程:不停地选数,在这个过程在,我们保持选到的数的都是某一个数x的倍数,直到选到一个数不为x的倍数就结束。这一过程其实就是概率论中的负二项式分布:实验包含一系列独立的实验。每个实验都有成功、失败两种结果。成功的概率p是恒定的。实验持续到r次失败,r可以为任意正数。则X~NB(r,p原创 2021-04-30 20:10:24 · 333 阅读 · 0 评论 -
【补题】2020 CCPC 秦皇岛 I. Interstellar Hunter(exgcd,向量线性组合的等价转换)
题目链接:http://codeforces.com/gym/102769/problem/I一开始想到贝祖定理,但是只能分别判断x和y方向上的,没办法组合起来判断。思路分析这道题考的其实主要不是贝祖定理,而是exgcd。假设我现在我们有向量(a1,b1),(a2,b2)(a_1,b_1),(a_2,b_2)(a1,b1),(a2,b2)。考虑x方向上,若某横坐标c可以到达,则表示存在x,y,使得a1x+a2y=ca_1x+a_2y=ca1x+a2y=c。由exgcd可知:该方程解的情原创 2021-04-03 12:16:19 · 679 阅读 · 0 评论 -
拉格朗日插值法 学习小结
基本定理我们中学就知道:两点确定一直线。对于这一点的拓展:n点可以确定n-1阶的多项式。关于证明,可以联想待定系数法:设多项式为f(x)=a0+a1xn+x2x2+……+an1xn−1f(x)=a_0+a_1x^n+x_2x^2+……+a_{n_1}x^{n-1}f(x)=a0+a1xn+x2x2+……+an1xn−1由此可知,我们只需要n个独立方程就能确定此多项式。那么,假设说我们要求这个多项式的某点的取值f(k)f(k)f(k),最直接的想法是确定待定系数,再来求f(k)f(k)f(原创 2021-03-02 14:24:31 · 1615 阅读 · 0 评论 -
51nod 1742 开心的小Q 解题报告(莫比乌斯函数+线性筛+数论分块)
链接:http://www.51nod.com/Challenge/Problem.html#problemId=1742要点:1、这里的枚举变换和平时的不大一样?2、莫比乌斯函数和容斥根据莫比乌斯函数定义,我们得到要求的答案为:ans=∑i=1n∑d∣i(1−∣μ(d)∣)ans=\sum_{i=1}^{n}\sum_{d|i}(1-|\mu(d)|)ans=i=1∑nd∣i∑(1−∣μ(d)∣)这里我们这里我们令t=i/d,则:变换为:ans=∑t=1n∑d=1nt(1−∣μ(d)原创 2021-02-21 18:14:31 · 137 阅读 · 0 评论 -
P4111 [HEOI2015]小 Z 的房间 解题报告(矩阵树定理+高斯消元求行列式)
关于矩阵树定理,不关心证明的话,可以直接看这个结论:https://www.cnblogs.com/yangsongyi/p/10697176.html这题的意图其实很明显,就是给一个图,问你有几个生成树。需要注意的是,柱子的点不能放进图内,不然就没有生成树了。注意建图。另外,对于这种整数的、用不了逆元的高斯消元,我们可以才用辗转相除的方法,复杂度多一个log,具体实现看代码。#include <bits/stdc++.h>using namespace std;typedef lon原创 2021-01-22 01:56:01 · 188 阅读 · 0 评论 -
AtCoder Regular Contest 111补题报告(A数学 B思维(匹配问题) C思维(贪心)D思维(保证有解时猜测)E数学(类欧几里得算法))
目录A - Simple Math 2B - Reversible CardsC - Too HeavyA - Simple Math 2推式子:⌊10NM⌋modM=⌊10NM⌋−kM=⌊10N−kM2M⌋⌊{10^N\over M}⌋modM=⌊{10^N\over M}⌋-kM=⌊{10^N-kM^2\over M}⌋⌊M10N⌋modM=⌊M10N⌋−kM=⌊M10N−kM2⌋所以,我们快速幂取模求10nmod m210^n \mod m^210nmodm2后再整除M即可。ll k原创 2021-01-13 21:47:58 · 292 阅读 · 0 评论 -
P3768 简单的数学题 解题报告(莫比乌斯反演+杜教筛)
题目描述题面简单,我打下:∑i=1n∑j=1nijgcd(i,j)mod p\sum_{i=1}^{n}\sum_{j=1}^{n}ij\gcd(i,j)\mod{p}i=1∑nj=1∑nijgcd(i,j)modpn最大1e10,p为质数思路分析拿到这种题,肯定是先推式子,暴力跑不过去的。 ∑i=1n∑j=1nijgcd(i,j)mod p\sum_{i=1}^{n}\sum_{j=1}^{n}ij\gcd(i,j)\mod{p}∑i=1原创 2020-12-30 14:51:39 · 170 阅读 · 0 评论 -
kuangbin数学2 解题报告
这部分组合数学挺多的,记录下。LightOJ - 1005 Rooks多组样例:n*n的放个,要放k个棋子,棋子之间互不相同,要求不同行不同列,求方案数放一个棋子,相当于挑走一个行和一个列,所以考虑组合数。又由于棋子不互相同,所以乘上排列数AkkA^k_kAkk,就是答案。组合数可以用n^2递推。#include <bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int (i)=(a);(i)<=(b);++i原创 2020-12-27 22:58:44 · 211 阅读 · 0 评论 -
CodeForces - 1058D Vasya and Triangle 解题报告
题意给三个数n,m,k,求是否存在0<x1,x2,x2<n,0<y1,y2,y3<m,使得三点(x1,y1),(x2,y2),(x3,y3)构成的三角形面积为n*m/k思路首先,一个三角形它一定有锐角,所以,我们考虑把一个顶点放在原点方便考虑。由条件可知,其实就是在矩形(0<x<=n,0<y<=m0<x<=n,0<y<=m0<x<=n,0<y<=m)内再找两点组成三角形。设另外两点为A(x1,y1),B(x原创 2020-07-23 01:21:53 · 153 阅读 · 0 评论 -
[数论专题]容斥原理练习(持续更新)
参考大佬博客:https://www.cnblogs.com/linyujun/p/5210410.html目录HDU - 1465 不容易系列之一UVALive - 7040 ColorHDU - 1465 不容易系列之一这道应该第一反应是排错问题,可以用排错问题的公式。但是,也可以用容斥原理来想。总的方案数为n!。假设一定有1封信(指定的,非任意)放对,则有(n−1)!(n-1)!(n−1)!种方案。假设一定有2封信(指定的,非任意)放对,则有(n−2)!(n-2)!(n−2)!种方案。假原创 2020-06-20 23:04:17 · 581 阅读 · 0 评论 -
Educational Codeforces Round 89 (Rated for Div. 2) 补题报告A.数学/贪心 B.思维 C.思维 D.唯一分解定理+gcd性质
感冒了没写Orz,只补了一部分。A - Shovels and Swords(数学/好像贪心也行)虽然感觉贪心也行,但是写起来好像不是很容易。。。联想到动态规划应该还是可以的(高中的没忘的话)。设两个物品为A、B,分别制作了x件、y件,则满足不等式2x+y<=a2x+y<=a2x+y<=ax+2∗y<=bx+2*y<=bx+2∗y<=b目标函数z=x+y按照高中老师教的,画个图,带交点就能求出来了。但还要考虑下两条直线再第一象限没交点的情况,那就代端点。#原创 2020-06-13 15:10:30 · 397 阅读 · 1 评论 -
P4071 排列计数 解题报告(错排问题、组合数、逆元打表)
题目链接:https://www.luogu.com.cn/problem/P4071先是组合数部分,比较容易想到从n个中挑出m个对位的,剩下的我们都要让他们不对位。这时候,我们就想到了错排问题。错排问题的定义是:考虑一个有n个元素的排列,若一个排列中的所有元素都不在他们原来的位置上,那么这种情况就称为错排。n个元素的错排个数记为DnD_nDn。研究一个排列错排个数的问题叫作错排问题。关于这个问题,非常推荐一个大佬的博客:https://www.luogu.com.cn/blog/P6174/pos原创 2020-06-08 18:33:07 · 245 阅读 · 0 评论 -
扩展欧几里德算法+中国剩余问题+扩展中国剩余问题串联总结
扩展欧几里德算法对这算法本身认识比较一般。作用是:对于一个一次不定方程:ax+by=c,可用该算法算出x和y。这里主要说下接出来是负数的处理:大佬博客:https://blog.youkuaiyun.com/bajiu2822/article/details/102026375记住式子:D=b/gcd(a,b)(推导过程大佬博客里有)来个if,为负数的时候加上D就是了。模板题:https://...原创 2020-04-06 22:31:01 · 273 阅读 · 1 评论 -
牛客练习赛60补题(待更新)(A、二进制 B、思维 C、DP D、拓展欧几里得算法)
目录A、大吉大利B、三角形周长和C、操作集锦D、斩杀线计算大师A、大吉大利链接:https://ac.nowcoder.com/acm/contest/4853/A一道挺普通的二进制题目,和洛谷之前做的谔运算有点像,可能还更简单一点。#include <iostream>using namespace std;typedef long long ll;ll counter...原创 2020-03-28 23:48:14 · 204 阅读 · 0 评论 -
HDU - 3117 Fibonacci Numbers 解题报告(数论)(矩阵快速幂)(斐波那契数通项)
之前做的题,拿出来记录一下。目录题目:思路分析ac代码题目:链接:https://vjudge.net/problem/HDU-3117思路分析因为这道题要求大于8位数的时候用省略号,因此,我们需要知道什么时候会超过8位数。自己写个程序试下,应该是到第39项(<=39)为止不需要省略号。因为,n<=39时,直接矩阵快速幂。大于39的时候,我们需要分两部分:对于后四位,我们...原创 2020-03-14 01:05:10 · 281 阅读 · 0 评论 -
HDU - 4372 Count the Buildings解题报告(数论)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-4372思路分析这道题刚拿到其实挺懵的。。这道题考的是第一类Stirling数的应用。思路如下:首先,对于高度为n的那一栋建筑,不论从左边还是从右边我们都可以看得到最高的那一栋建筑。那么,以这栋最高的建筑为分界点,将这一整行建筑分成左右两边,这两边除了中间的那一栋之外,我们能看到的建筑...原创 2020-02-27 22:39:26 · 250 阅读 · 0 评论 -
POJ-3071 Football解题报告(简单概率dp,水题)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/POJ-3071#author=goodlife2017思路分析这是一道简单的求概率的题目。和算期望不同,算概率的时候是从开始向后推,推出结果的概率(求期望是从后开始向前推)。因此,这道题的思路就是从第一轮开始算。但是算的过程比较麻烦的一点:我们需要确定我们这一轮一共有多少种可能(有几支队伍可能...原创 2020-02-27 08:47:11 · 356 阅读 · 0 评论 -
P6102 谔运算 解题报告(数论?)
目录题目思路分析完整代码题目链接:https://www.luogu.com.cn/problem/P6102思路分析这道题。。。写了好久,看了大佬博客写出来的(太菜了。。。)。大佬题解:https://www.luogu.com.cn/blog/Feliks-YB/post-ti-xie-p6102-post这道题是这样做的:每读入一个数,就把这个数转化为32位的二进制数。需要明白一...原创 2020-02-16 22:08:33 · 239 阅读 · 0 评论 -
HDU - 5184 Brackets 解题报告(数论)(卡特兰数)(逆元)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-5184大概意思:告诉你目标的字符串长度和开头的几个括号,求可以以这几个括号开头的合法括号字符串的数量。思路分析在这个字符串构建的过程中,需要时刻保持:左括号数大于右括号数。如果它没有给开头序列,那么,这就是卡特兰数的模型I(不打清楚的可以先下hdu 2067作为铺垫)。但是,如果给了...原创 2020-02-09 21:26:36 · 1938 阅读 · 0 评论 -
hdu-2817 A sequence of numbers解题报告(快速幂)
目录题目描述思路分析完整代码题目描述题目:http://acm.hdu.edu.cn/showproblem.php?pid=2817大概意思:给你一组(三个)数,找出第k个数是多少,结果mod 200907思路分析这道题因为0 < K <= 10^9,比较大,直接算可能会超时,所以采用快速幂。主要就是记住模板。下面来说说理解:我们都知道a^2=aa,而 (a ^2)(a...原创 2020-01-30 18:19:56 · 465 阅读 · 0 评论 -
HDU - 1042 N!解题报告(大数乘法)(千进制)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-1042就是输入一个数n,然后要你输出n!。但是,注意范围:0<=n<=1000,所以只能用数组模拟千进制来存储数据。例如:1234567890在数组中应该存储为[7890,3456,12],输出的时候你这输出就是1234567890。思路分析其实上面已经说了点了。这里因为...原创 2020-01-29 12:54:35 · 293 阅读 · 0 评论 -
hdu-5976 Detachment 解题报告(乘法逆元、贪心?)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-5976好像有翻译来着,我就不翻译了。思路分析这道题初看起来就让我们联想到高中数学的基本不等式:和一定,分解为相同的数时,他们的积最大,即:aa+bb>=2ab,当且仅当a==b时,ab最大。但是这道题有个要求:互不相等,所以,我们取个较近的情况:他们是阶乘的情况最大,这时这道...原创 2020-02-03 17:03:08 · 374 阅读 · 0 评论 -
hdu-1576 A/B解题报告(数论)(扩展欧几里得算法)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-1576大概意思:要求的是A/B 但是A他就给了A%9973的值n,然后要求(A/B)%9973。。初看起来有点懵。思路分析其实,我们在纸上演算一下就是这样:其中:n、B已知,x和k为未知数。是不是很眼熟呢?这就是二元一次不定方程啦。剩下的就是用欧几里得算法算出结果,记得取余就是了。...原创 2020-02-03 15:34:04 · 225 阅读 · 0 评论 -
HDU - 1047 Integer Inquiry解题报告(数论)(大数加法)
目录题目描述思路分析完整代码题目描述题目:https://vjudge.net/problem/HDU-1047#author=henuacm废话挺多,其实就是数组模拟大数加法。但是需要注意的是:输出之间要空一行,而输出的最后一行不能有空行(这个坑了我好久。。)思路分析用一个int类型的数组存储每一位数。我这里打算写成一个结构体(写成类有点麻烦,不打熟练),尽量模块化。需要注意的是,我们...原创 2020-01-29 12:24:57 · 227 阅读 · 0 评论 -
牛客 勾股定理 解题报告(数论)
目录题目描述思路分析完整代码数论题。。一言难尽题目描述链接:https://ac.nowcoder.com/acm/problem/200580来源:牛客网给定一个整数A。求是否存在两个整数B,C使得长度为A,B,C的三条边可以组成一个直角三角形。输入描述:第一行一个数字T(1≤T≤1000)T(1 \le T \le 1000)T(1≤T≤1000),表示样例个数。其中每个样例...原创 2020-01-21 12:24:50 · 408 阅读 · 0 评论