随笔分类 - 数学
CF1089I Interval-Free Permutations
摘要:题目大意: 有一个排列,长度为n,一个区间为连续段当且仅当最大值减最小值加一为区间的长度。问所有长度为n的排列,有多少个满足只有长度为1或n的连续段。要求n^3求出所有长度为1到n的答案。 思考:考虑连续段的性质。容易发现的是,两个相交连续段的并还是一个连续段。 首先我们特判n=2。然后我们i使用容
阅读全文
[校内训练2021_03_25]BC
摘要:题目大意:求一个 有标号树的 本质不同的 有根点分树 数量。要求平方。 思考:咕咕咕 1 #include<bits/stdc++.h> 2 #define mod 1000000007 3 using namespace std; 4 typedef long long int ll; 5 con
阅读全文
[校内训练2021_03_03]C
摘要:题目大意:问平面上有多少个不同的由n个点组成的无向无标号的树(即在纸上画树,树边不能交叉)。n=10000000,对质数取模。 思考: 由于树太难直接考虑,我们需要建立一种一一对应的关系来方便计数。这里将树变成了平面图,即对于任意一个有2(n-1)个点均匀分布在圆周上的圆,我们给这些点两两配对,连出
阅读全文
[校内训练2021_02_24]B,代数数的和仍然是代数数
摘要:我们先说理性地考虑如下证明:代数数的和仍然是代数数。 设P(a)是n次数多项式,Q(b)是m次多项式,并且最高项系数为1,系数均为有理数,a、b分别是P(a)和P(b)的任意根,满足P(a)=0,P(b)=0。 我们现在要构造一个数列(可能是无限长的),满足$t_0(a+b)^0+t_1(a+b)^
阅读全文
关于BM算法求解线性递推的细节
摘要:关于BM算法求解线性递推的细节 网上已有相当多的讲解BM算法的文章,这里只讨论一些细节部分。 1.第一次遇到非零元素:那么下一个转移数组一定是由i个0组成的,其中i是已经访问过零元素个数加1。应为我们**当前**需要保存的只是对下一位可能正确并且前面必然正确的转移数组,若只有i-1个零,这一位上显然
阅读全文
luogu4464:莫比乌斯反演,积性函数和伯努利数
摘要:题目链接:https://www.luogu.com.cn/problem/P4464 简记gcd(x,y)=(x,y)。 推式子: ∑ni=1(i,n)xlcm(i,n)y =∑ni=1(i,n)x−y(in)y $=n^y\su
阅读全文
解交错的常系数齐次线性递推式的通项
摘要:例子:解An=An−1+3Bn−1,Bn=2An−1+2Bn−1的通项,A0,B0为指定常数。 构造矩阵$M=[a0b0c0d0]=\begin{bmatrix}1&3\\2&2\end{bm
阅读全文
bluestein算法
摘要:我们熟知的FFT算法实际上是将一个多项式在2n个单位根处展开,将其点值对应相乘,并进行逆变换。然而,由于单位根具有“旋转”的特征(即wjm=wj+mm),若多项式次数大于二分之长度,FFT将进行一次长度为2n的循环卷积。bluestein的算法是解决了在任意长度上的循环卷
阅读全文
特征向量和特征值
摘要:特征向量和特征值 定义1:A为n×n的矩阵,x为非零向量,若存在λ满足Ax=λx,那么λ为该矩阵的特征值,x为其对应的特征向量。 警告:特征向量必须非零,但特征值可以为零;根据定义,特征向量也可以任意"拉伸"。 直观理解:
阅读全文
[校内训练20_10_23~25]
摘要:1. 标准的卢卡斯定理加数位dp,主要是算C(n,i)*C(n,2*i)。 但由于这题的模数是质数,就不需要考虑很多东西,如:是否超过上限了、是否有连续的进位。 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long
阅读全文
[家里训练20_03_01]ABC
摘要:1.不可做题。 求出满足 m∑i=1xi≤s 对任意i≤m,xi>0 对所有i,xi≤t 的解数 答案对10^9+7取模 m-n<=1000,t<=100000,m<=1E9,nt<=s<=1E18 2.树上LIS:一棵树,
阅读全文
[家里训练20_02_28]ABC
摘要:A:有字符串A和B,若A和B匹配,那么字符集存在一个单射,使得F(A)=B。现在给出长度为n的序列和长度为m的序列,问第一个序列中有多少子串与第二个序列匹配。 回想kmp的过程,事实上,只要“等于号”满足传递性就可以进行匹配。 看代码就知道了。 1 #include<bits/stdc++.h> 2
阅读全文
[家里训练20_02_12]ABC
摘要:A:CF1119H加强版,k<=10。 不太想解释。 1 #define mod 998244353 2 #define G2 499122177 3 #include<bits/stdc++.h> 4 using namespace std; 5 typedef long long int ll;
阅读全文
[家里训练20_02_10]ABC
摘要:A:SB题。 B: X 国有 N 座城市,由 N-1 条道路连接形成了一棵树,每条边都有边权 wi 表示经过这条边需要 wi 的时间。为了方便出行,X 国计划在每座城市建造一座传送装置,它们两两之间可以进行传送。传送并不是即时的,初始时你需要给每个传送装置设置一个参数 ai,从装置 i 传送到装置
阅读全文
[校内训练20_01_21]ABC
摘要:1.西瓜恒等式: ∑P.is.a.permutation1A[P[1]]×(A[P[1]]+A[P[2]])×...×(A[P[1]]+...+A[P[n]])=1A[1]×A[2]×...×A[n] 2.西瓜定理: 对于任意am+4≡a(
阅读全文
[校内训练20_01_22]ABC
摘要:1.给出序列A,求序列B,使得bi|ai,lcm(b1,b2,...,bn)=lcm(a1,a2,...,an)且字典序最小。 可以发现,对于某个质数p,它有一个最大的次数k,将pk放在尽可能靠后且能够整除原数组中的数字的位置上,便是答案。 虽然数字的值域达到1E18,但我们只需要知道每个数1~1E
阅读全文
[校内训练20_01_19]ABC
摘要:1.SB题 2.有n个点,m条边,每次加入一条边,你要挑出一些边,使得形成的图每个点度数都为奇数,且最长的边最短。 3.给一个N次多项式,问有多少个质数在任意整数处的点值都是p的倍数,输出它们。N≤1000,|ai|≤109 问题等价于这个多项式在mod p意义下存在因数
阅读全文
[模板]二次剩余(无讲解)
摘要:1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long int ll; 4 typedef unsigned long long int ull; 5 ull SEED=1; 6 ll n,mod; 7 ll w; 8
阅读全文
[校内训练19_09_06]排序
摘要:题意 一个这样的算法: 现在你cnt和原始数组a,求cnt步数后a的结果。注意a是n排列。 1≤n≤106,1≤cnt≤n(n−1)2 思考 对于某个i,如果j从i+1循环到了n,那么含义就是将i~n中最小的数放到第i位上,剩下的访问过
阅读全文
[校内训练19_09_03]c Huge Counting
摘要:题意 有一个定义在 k 维非负整点上的函数:f(x1,x2,...,xk):Nk0−>{0,1} ,定义方法如下: 若存在j∈[1,k],xj=0,则f(x1,x2,...,xk)=0 若对j∈[1,k]都有xj=1则$f(x_1,x_2,...,
阅读全文