随笔分类 -  (A)数论

摘要:题意 https://vjudge.net/problem/CodeForces-1230E 给出一棵树, 点上有权值, 对于每个点, 求它和所有后代节点的GCD的和. 思路 对于一个点,他对后代的贡献包含他自己和他的各个父亲对后代的贡献。 比如下面这个栗子: 红色为点权。 那么对于1号点,没有父亲 阅读全文
posted @ 2019-12-05 16:34 MCQ1999 阅读(158) 评论(0) 推荐(0)
摘要:题意 https://www.luogu.com.cn/problem/P2260 思路 具体思路见下图: 注意这个模数不是质数,不能用快速幂来求逆元,要用扩展gcd。 代码 #include<bits/stdc++.h> using namespace std; #define inf 0x3f3 阅读全文
posted @ 2019-11-30 14:02 MCQ1999 阅读(223) 评论(0) 推荐(0)
摘要:题意 https://vjudge.net/problem/CodeForces-573A 有n个数ai​ ,你可以把每个数任意次×2 或×3 ,问能否最终使得每个数相等。 思路 x2和x3只能改变数的因子2和3的个数,所以本质就是把这些2和3因子全部去掉,再看每个数是否相等即可。 代码 #incl 阅读全文
posted @ 2019-11-29 14:25 MCQ1999 阅读(315) 评论(0) 推荐(0)
摘要:题意 https://vjudge.net/problem/CodeForces-1228C 首先先介绍一些涉及到的定义: 定义prime(x)表示x的质因子集合。举例来说,prime(140)={2,5,7},prime(169)={13}。 定义g(x,p)表示存在一个最大的k∈N∗,使得x可以 阅读全文
posted @ 2019-11-26 21:41 MCQ1999 阅读(371) 评论(0) 推荐(0)
摘要:题意 求n!的因子数%1e9+7。 思路 由唯一分解定理,一个数可以拆成素数幂之积,即2^a * 3^b *……,n!=2*3*……*n,所以计算每个素因子在这些数中出现的总次数(直接对2~n素因子分解即可),再用唯一分解定理公式,因子数=(a+1)*(b+1)*……。 代码 #include<bi 阅读全文
posted @ 2019-11-12 17:05 MCQ1999 阅读(315) 评论(0) 推荐(0)
摘要:题意 给你a,b(11且x为这个数的因子)使他变成a!/b!/x, 问你最多可以操作多少次使这个数变成1 http://codeforces.com/problemset/problem/546/D 思路 显然要素因子分解,但直接计算a!/b!的素因子个数太慢了,可以发现实际上是计算a (a 1) 阅读全文
posted @ 2019-09-26 00:38 MCQ1999 阅读(173) 评论(0) 推荐(0)