![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学知识
文章平均质量分 65
疯疯癫癫才自由
这个作者很懒,什么都没留下…
展开
-
博弈论(Nim 游戏进阶)
我使取一个数使之异或和变为0,轮到对手,对手取偶数阶上的石子时,对手取多少到石子。* 刚开始的时候没想出来,最开始的时候,知道应该要分为奇数阶和偶数阶来讨论,于是有了。* 通过Nim游戏我们已经证明了,当奇数阶的异或和为0的时候,取一个正整数之后,* 当偶数阶的异或和为0的时候,先手胜,反之先手败;,且两个新堆的石子总数可以大于取走的那堆石子数),最后无法进行操作的人视为失败。* 当奇数阶的异或和为0的时候,先手败,反之先手胜;* 给出当奇数阶的异或和为0的时候,先手败,反之先手胜的证明;...原创 2022-08-16 21:43:45 · 119 阅读 · 0 评论 -
简单博弈论(Nim游戏)
堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S。个整数,其中第 i 个整数表示数字集合 S 中的第 i 个数 si。个整数,其中第 i 个整数表示第 i 堆石子的数量 hi。堆石子以及一个由 k 个不同正整数构成的数字集合 S。问如果两人都采用最优策略,先手是否必胜。个数字,其中第 i 个数字表示第 i。如果先手方必胜,则输出。.原创 2022-08-15 21:15:04 · 1355 阅读 · 0 评论 -
容斥原理 ,二进制表示集合
比如,在1~ 2^m-1 中,只用一位1的数,有C(m,1)种选择;只有两位1的数,有C(m,2)种选择,* 刚好 2^m-1 种集合状态,每个集合选择的质因数数量又恰好对应1~2^m-1 用二进制表示。* 二进制表示的1的个数都是2,且第一组上1的位置是 i,j,第二组上1的位置是 k,l,那么。* 的1的数量,且每个位置i上的 1 表示该集合选择了第i个质因数 (p[i]);* 且每种选择都不会存在用二进制表示的数上1的组合位置是完全一样的,(有两组数用。输出一个整数,表示满足条件的整数的个数。...原创 2022-08-15 19:09:54 · 114 阅读 · 0 评论 -
卡特兰数(高精度乘法压位)
个 0 和 n 个 1,它们将按照某种顺序排成长度为 2n 的序列,求它们能排列成的所有序列中,能够满足任意前缀序列中 0 的个数都不少于 1。* 用LL来存储结果,每次相乘我们以 M=1e9 作为进制数,(这样两个M相乘也不会爆LL);* 这个题与满足条件的01序列解法一样,只不过这个题是输出全部方案数,不取模,* 最后由于高精度数据相乘是主要的算法时间消耗,因此我们优化高精度数据相乘,每节车厢有两种运动方式,进栈与出栈,问 n。共一行,包含一个整数,表示答案。的个数的序列有多少个。,代表火车的车厢数。.原创 2022-08-15 17:54:00 · 237 阅读 · 0 评论 -
组合数的求解(打表,逆元,Lucas 定理,大整数求解)
if((a-b) < b) //如果a-b < a,那么还得改变mul和b 的值;if(a原创 2022-08-12 17:34:34 · 144 阅读 · 0 评论 -
扩展欧几里得算法(线性同余方程,中国剩余定理)
令 a0=a1*a2/gcd,m0=a1*k1+m1;* 不难而知:k1=k1+a2/gcd*k, k2=k2+a1/gcd*k;* 将k1 带入(1),所以x=a1*(k1+a2/gcd*k)+m1 = a1*a2/gcd*k+a1*k1+m1;对正整数 ai,bi,对于每对数,求出一组 xi,yi,使其满足 ai×xi+bi×yi=gcd(ai,bi)* 求出满足a1*y1 - a2*y2 = gcd(a1,-a2) 的解;* 否则有解,此时 k1=y1*(m2-m1)/gcd(a1,-a2);....原创 2022-08-10 16:20:57 · 128 阅读 · 0 评论 -
快速幂,逆元的求解
互质,并且对于任意的整数 a,如果满足 b|a,则存在一个整数 x,使得 a/b≡a×x(modm),则称 x 为 b 的模 m 乘法逆元,记为 b−1(modm)。* 假设 a,b,m都是整数,m>1,且ab与1模m同余,则a与b互为模m的逆元。* 所以当m为质数的时候,a的m-2次方就是a模m的逆元。组 ai,pi,其中 pi 是质数,求 ai 模 pi。的乘法逆元存在,则输出一个整数,表示逆元,否则输出。行,每行包含一个数组 ai,pi,数据保证 pi。行,每组数据输出一个结果,每个结果占一行。...原创 2022-08-10 14:02:40 · 149 阅读 · 0 评论 -
欧拉函数(用欧拉筛法求欧拉函数)
/如果p[j]不是i的约数,但是p[j]一定是p[j]*i 的约数。//如果p[j]是i的约数,那么p[j]一定是p[j]*i的约数。* 若在算数基本定理中,N=p1^e1*p2^e2*...*pk^ek;* 1∼N中与 N 互质的数的个数被称为欧拉函数,记为 ϕ(N)。中与 N 互质的数的个数被称为欧拉函数,记为 ϕ(N)。共一行,包含一个整数,表示 1∼n。,请你求出每个数的欧拉函数。...原创 2022-08-10 13:36:28 · 186 阅读 · 0 评论 -
约数及约数个数,约数乘积的计算
对于一个正整数n的质因子分解为各质因子Pi的个数分别为e1,e2,...,ek;* 对于一个正整数n的质因子分解为各质因子Pi的个数分别为e1,e2,...,ek;* 则n的约数个数为(e1+1)*(e2+1)*...*(ek+1);个正整数 ai,请你输出这些数的乘积的约数个数,答案对 109+7。输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7。个正整数 ai,请你输出这些数的乘积的约数之和,答案对 109+7。输出一个整数,表示所给正整数的乘积的约数之和,答案需对 109+7。...原创 2022-08-07 17:40:59 · 599 阅读 · 0 评论 -
质数判定与质数表的求解
按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。coding second:欧拉筛法,线性筛法:O(n)每个正整数的质因数全部输出完毕后,输出一个空行。行,其中第 i 行输出第 i 个正整数 ai。共一行,包含一个整数,表示 1∼n。行,每行包含一个正整数 ai。行,每行包含一个正整数 ai。,判定每个数是否是质数。是否为质数,是则输出。对于每个正整数 ai。共一行,包含整数 n。...原创 2022-08-07 17:01:21 · 214 阅读 · 0 评论 -
离散化求前缀和
次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r]假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。次操作,每次操作将某一位置 x 上的数加 c。行,每行输出一个询问中所求的区间内数字和。行,每行包含两个整数 x 和 c。行,每行包含两个整数 l 和 r。现在,我们首先进行 n。第一行包含两个整数 n。...原创 2022-08-04 11:26:59 · 121 阅读 · 0 评论 -
差分(前缀和的逆运算)
行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。* 数组a是原数组,d是差分数组,所谓差分数组就是a是d的前缀和,即差分与前缀和。行,每行包含 5 个整数 x1,y1,x2,y2,c。每个操作都要将选中的子矩阵中的每个元素的值加上 c。个整数,表示所有操作进行完毕后的最终矩阵。行,每行包含三个整数 l,r,c。个整数,表示整数矩阵。..原创 2022-08-02 17:59:11 · 397 阅读 · 0 评论 -
前缀和(区间和,子矩阵的和)
795. 前缀和输入一个长度为 n的整数序列。接下来再输入 m个询问,每个询问输入一对 l,r。对于每个询问,输出原序列中从第 l个数到第 r个数的和。输入格式第一行包含两个整数 n和 m。第二行包含 n个整数,表示整数数列。接下来 m行,每行包含两个整数 l 和 r,表示一个询问的区间范围。输出格式共 m行,每行输出一个询问的结果。数据范围1≤l≤r≤n,1≤n,m≤100000,−1000≤数列中元素的值≤1000输入样例:输出样例:s[i]=s[i-1]+a[i] //s[i]表示原创 2022-08-02 17:17:19 · 111 阅读 · 0 评论 -
大整数相加,相减,相乘,大整数与普通整数的相乘,相除
下面各自给出一个题目当然,没有用上面的函数了,上面的函数实在《算法笔记》上学的,下面是在报Acwing的课程学的;2)大整数相加,相减,大整数与普通整数的相乘,相除。共两行,第一行输出所求的商,第二行输出所求余数。),计算它们的差,计算结果可能为负数。给定两个非负整数(不含前导0。给定两个非负整数(不含前导0。)A,B,请你计算A/B。共两行,每行包含一个整数。共两行,每行包含一个整数。共两行,第一行包含整数A。1≤A的长度≤100000。共两行,第一行包含整数A。共一行,包含所求的和。...原创 2022-08-01 18:46:10 · 191 阅读 · 0 评论 -
杨辉三角的各种输出:
右边留白(unit_width-左边留白-data_width);左边留白(unit_width-data_width)/2;行前留白(line_count-line_no)*unit_width/2;anaysis由于要使得每一对角线上的元素都是一条直线,那么需要找出每一个。元素所需要的字长宽度,如何找呢?想必肯定是由最大的数据决定,4)要求每行的数据居中对齐输出,使得每一对角线上的元素都是一条直线。我们把每个数字放在等宽的格子里面,格子宽度=最大数字宽度+1||2;格子内部数据居中,...原创 2022-07-25 19:56:28 · 223 阅读 · 0 评论 -
组合数(阶乘的质因子的个数,组合数的计算)
的Pi的个数,个数分别为下,x,y,z.则C(n,m)中质因子Pi的个数为(x-y-z);将C(n,m)进行质因子分解,对遍历不超过n的质数Pi分别计算。通过定义式计算将C(n,m)进行质因子分解;支持n原创 2022-07-22 20:50:29 · 209 阅读 · 0 评论