随笔分类 -  数论===============

摘要:浅谈基础数论算法 ​ 数论,作为离散数学一个分支,是计算机科学的重要组成部分。在网络安全等方面有着广泛的应用。今天笔者将从基础内容出发,简要介绍最大公约数,解二元一次不定方程,解同余方程组等算法知识。 最大公约数 ​ 最大公约数,即两个整数的最大公因子。在计算机科学中,我们通常采取辗转相除的方法来计 阅读全文
posted @ 2021-06-04 12:57 Creed-qwq 阅读(288) 评论(0) 推荐(0) 编辑
摘要:Pro: 在一张nm的台球桌上上打台球,初始位置x,y,初速度vx,vy,打到边缘会无能量损失的反弹。 问最少反弹多少次可以进洞。 Sol: 考虑把台球桌无限延伸。 然后发现可以用剩余系来搞。 大概就是 \[ \begin{align*} x+v_x*t&=0 \ (mod\ n) 阅读全文
posted @ 2021-05-27 17:31 Creed-qwq 阅读(55) 评论(0) 推荐(0) 编辑
摘要:线性筛 https://www.cnblogs.com/Creed-qwq/p/13501520.html 埃氏筛 这是进行了优化的埃氏筛,复杂度依然为O(nloglogn) 经过测试,实际运行中在n<=1e9时,其复杂度为O(kn),k<=3 就速度而言,丝毫不亚于线性筛。 这里的优化主要 阅读全文
posted @ 2020-11-18 03:54 Creed-qwq 阅读(92) 评论(0) 推荐(0) 编辑
摘要:Pro: https://ac.nowcoder.com/acm/contest/7502/D 给定如下矩阵 求它的行列式 Sol: 考虑Matrix Determinant Lemma https://blog.csdn.net/tfb760 阅读全文
posted @ 2020-11-10 11:41 Creed-qwq 阅读(84) 评论(0) 推荐(0) 编辑
摘要:Pro: https://pintia.cn/problem-sets/1322796904464203776/problems/1322798545527595019 Sol: 首先可以考虑一个多重背包的二进制拆解 注意,这里的二进制拆解指的是拆成O(logn)2k的形式 实现的话就是 阅读全文
posted @ 2020-11-05 14:08 Creed-qwq 阅读(371) 评论(0) 推荐(0) 编辑
摘要:Pro: Sol: 有这样一个性质:一个1开头的1、2序列可以用区间和表示出1~s[n]的所有数字 #include<bits/stdc++.h> #define N 2200000 #define eps 1e-7 #define inf 1e9+7 #define db double #defi 阅读全文
posted @ 2020-10-20 18:06 Creed-qwq 阅读(164) 评论(0) 推荐(0) 编辑
摘要:pro: https://www.luogu.com.cn/problem/P6667 sol: 就是一个大力推式子的题 但推导过程实在太长了 就不写了 简单来说就是 先把看到C(n,k)*k^i这个经典形式考虑转下降幂多项式 转完以后二项式定理合并一下 得到这个式子 \[ \sum_{i=0}^m 阅读全文
posted @ 2020-10-06 20:08 Creed-qwq 阅读(199) 评论(0) 推荐(0) 编辑
摘要:pro: sol: 挺水的一个小题,但还是写一下题解 尝试写一下递推式  f(n+1)=kf(n)+n+1 k是一个随着位数会变化的常数 由于位数最多变化18次 所以显然考虑分段递推 当k确定后 考虑怎么快速递推这个式子 发现得维护三个东西 1  n  f(n) 构造 阅读全文
posted @ 2020-10-06 18:44 Creed-qwq 阅读(53) 评论(0) 推荐(0) 编辑
摘要:1 借助mobius反演 可以推导出以下定理 i=1Nj=1Mf(gcd(i,j))=T=1min(N,M)NTMTk|Tf(k)μ(Tk) 2 在已知F 阅读全文
posted @ 2020-09-24 02:02 Creed-qwq 阅读(86) 评论(0) 推荐(0) 编辑
摘要:链接:https://www.luogu.com.cn/problem/AT2249 题意:给定一个序列,每次查询一个区间乘积的约数个数 AtCoder的题还是比较nb的啊 显然考虑分解质因数 然后又很自然地想到根号分治一下 小于\sqrt的素数可以用前缀和解决 大于\sqrt的素数可以用莫 阅读全文
posted @ 2020-08-14 14:14 Creed-qwq 阅读(113) 评论(0) 推荐(0) 编辑
摘要:p1=bd   p2=ad(思考一下如何证明) $x=x0+kp1 \y=y0-kp2$ 这里的k是同一个数 (思考一下如何证明) 需要注意的是把 ax+by=d 转化为 ax+by=c 时 p1和p2保持不变而不是翻倍 (思考一下 阅读全文
posted @ 2020-07-18 03:01 Creed-qwq 阅读(281) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problemnew/show/CF961G 有点自闭,没有想到最后那个地方可以二项式定理qwq 考虑计算每个物品的贡献。 变成求这个式子 套路的拆一下stirling数。。。 然后考虑后面那个东西。。。 最后这个拆式子的方法有点神仙。。。 cpp inc 阅读全文
posted @ 2019-05-02 15:45 Creed-qwq 阅读(327) 评论(0) 推荐(0) 编辑
摘要:ZJOI2019最水的一道题,考场上想出了正解却死活调不出来。。 然后就一直咕到了现在(逃 题目求的那个东西可以转化为这样一个东西。 有一些操作,你可以决定每个操作是否执行,动态查询所有可能的情况中线段树上权值为1的节点个数的总和。 然后很自然的(虽然看起来有点奇怪,但真的就很自然的能想到!)想到把 阅读全文
posted @ 2019-04-27 22:57 Creed-qwq 阅读(130) 评论(0) 推荐(0) 编辑
摘要:有点毒瘤的一个题。(主要原因还是我太菜 第一个问题求的大概是一个 sigema n C(F[n],K),其中F[n]是斐波那契数列。 考虑把组合数转成下降幂,用第一类斯特林数展开。 转化为 sigema n sigema i fn^i ✖ S(K,i)✖ ( 1)^(K i) 换一下求和顺序,把S和 阅读全文
posted @ 2019-04-25 01:15 Creed-qwq 阅读(281) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-04-18 17:04 Creed-qwq 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-04-11 16:09 Creed-qwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要:https://loj.ac/problem/6072 虽然结合了很多算法,但是一步一步地推一下还不算太难的一道题。 首先考虑枚举枚举有用的苹果的集合,然后去算生成树个数。 先考虑怎么计算生成树个数。 发现可以使用matrix tree。 所有有用点可以和有用点以及坏点连边,所有不是坏点的无用点只能 阅读全文
posted @ 2019-04-02 11:29 Creed-qwq 阅读(288) 评论(0) 推荐(0) 编辑
摘要:好像没什么好说的。 生成树方案=abs【(度数矩阵-邻接矩阵)删掉任意一行一列】 设A为一个矩阵。 abs(A)等于对它跑高斯消元然后把对角线上的数字乘起来。 顺便提一下高斯消元的辗转相除法。(用于模数不为质数的情况) 在用第i行对第j行消元的时候,设A为a[i][i],B为a[j][i]。 然后用 阅读全文
posted @ 2019-04-02 06:58 Creed-qwq 阅读(165) 评论(0) 推荐(0) 编辑
摘要:做法挺多的一道题 第一种做法就是直接考虑min max容斥。 然后可以转成一个n/logn sqrt(n)的dp。 不多做赘述。 第二种,ans=sigema x p(len =x)。 令f(i)=sigema x p(前x个数的gcd是i)。 则ans=sigema i=2 n f(i) 考虑对f 阅读全文
posted @ 2019-04-01 21:09 Creed-qwq 阅读(112) 评论(0) 推荐(0) 编辑
摘要:终于找到了一个只会用[gcd(i,j)==1] = sigema d|gcd(i,j) mu(d) 做不了的题。 考虑枚举gcd后。 此时,ans可以表示为一个 sigema x f(x)的形式。 考虑对反演f(x)。 然后发现f(x)也很容易在nlogn的复杂度内算出来,就做完了。 cpp inc 阅读全文
posted @ 2019-04-01 06:45 Creed-qwq 阅读(201) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示