数学
蔡于飛
SUSTech
ACMer
展开
-
UVA 12436 Rip Van Winkle’s Code 线段树
Rip Van Winkle’s Code 线段树维护等差数列,考察建模能力和多重懒标记优先级顺序。 首先,我们需要看出题中所给的暴力代码实际上就是维护连续区间的等差数列加和。 思考等差数列是否具有可加性:两个等差数列相加,即为首项相加并公差相加。 显然,我们需要维护区间首项a,区间公差d和区间和s,区间和s作为区间的唯一连续性质,可视为线段树需要维护的值,那么剩下的性质(首项a和公差d)即视...原创 2020-02-10 17:43:20 · 134 阅读 · 0 评论 -
LightOJ 1035 Intelligent Factorial Factorization 欧拉筛
Intelligent Factorial Factorization 这是一道素因数分解题。 因为数据范围非常小,所以直接暴力分解即可。 首先使用欧拉筛预处理出≤100(n的上界)的所有素数; 然后从2-每个数用不大于它的素数进行分解,分解方法具体如下: 若i%prime[j]=0,则i=i/prime[j],且将prime[j]的个数加一,循环直到i%prime[j]≠0时结束。若prim...原创 2020-02-07 20:56:58 · 99 阅读 · 0 评论 -
HYSBZ 3283 运算器 exBSGS+exLucas
运算器 这是一道模板题,通过此题即可获得两个重要模板——exBSGS和exLucas。 网上找到的模板并不稳定,经过反复调试最终确定模板如下代码。 代码: #pragma GCC optimize(2) #include<cstdio> #include<cmath> #include<cstring> using namespace std; nam...原创 2020-02-07 20:40:03 · 166 阅读 · 0 评论 -
Gym 102452G Game Design 搜索+计数原理
G - Game Design 这一题是构造题,我们必须想出一种策略可以使树上的结点数满足要求。 为了简化构造难度,我们可以试图把每一个点都作为某个答案中的一个点,并且只考虑二叉树。显然,每个叶子结点都设防是满足条件的情况,我们把每个叶子结点的代价都设为1. 考虑一个结点和它的两个子结点的关系,如果它的两个子结点都被防住(不一定是在子结点处设防,也可能在子结点的子结点设防),那么这个父结点就无...原创 2020-02-07 18:52:43 · 695 阅读 · 0 评论 -
CodeForces 933B A Determined Cleanup 数学
B - B 给出整数p, k,问是否存在一个多项式f(x),其每项系数均为自然数且<k,且f(x)可分解为f(x)=q(x)(x+k)+p(q(x)为另一个多项式)。 我们可以设q(x)=a0+a1x+a2x²+a3x³+…… 带入上面等式,得f(x)=(a0k+p)+(a1k+a0)x+(a2k+a1)x²+(a3k+a2)x³+…… 发现f(x)每项系数均为形如mk+n形式,因为每项...原创 2020-02-07 12:13:20 · 203 阅读 · 0 评论