随笔分类 - 数学
摘要:首先有个关键性的结论就是一个数的合数幂就是超级幂。最小的合数是4,所以枚举底数的上限是pow(2^64, 1/4) = 2^16 = 65536对于底数base,指数的上限就是ceil(64*log(2)/log(base)),注意这个上限不能取到,是个开区间 1 #include 2 #incl...
阅读全文
摘要:我一直相信这道题有十分巧妙的解法的,去搜了好多题解发现有的太过玄妙不能领会。最简单的就是枚举n的所有约数,然后二重循环找lcm(a, b) = n的个数 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int gcd(i...
阅读全文
摘要:求mk整除n!,求k的最大值。现将m分解质因数,比如对于素数p1分解出来的指数为k1,那么n!中能分解出多少个p1出来呢?考虑10!中2的个数c:1~10中有10/2个数是2的倍数,c += 5;1~10中有10/4个数是4的倍数,所以c += 2,其中有10/8 = 1个数是8的倍数,所以c +=...
阅读全文
摘要:将K个不超过N的非负整数加起来,使它们的和为N,一共有多少种方法。设d(i, j)表示j个不超过i的非负整数之和为i的方法数。d(i, j) = sum{ d(k, j-1) | 0 ≤ k ≤ i},可以理解为前j-1个数之和为i-k,最后一个数为k还有一种更快的递推办法,把这个问题转化为将N个小...
阅读全文
摘要:好吧,被大白书上的入门题给卡了。=_=||已知LCM(A, B) = C,已知A和C,求最小的B一开始我想当然地以为B = C / A,后来发现这时候的B不一定满足gcd(A, B) = 1A要不断地除去gcd(A, B),直到满足gcd(A, B) = 1B最后就应该乘上A除去的值 1 #incl...
阅读全文
摘要:桥的间隔数为n = ceil(B/D),每段绳子的长度为L / n,相邻两塔之间的距离为 B / n主要问题还是在于已知抛物线的开口宽度w 和 抛物线的高度h 求抛物线的长度弧长积分公式为:设抛物线方程为f(x) = ax2,则这段抛物线弧长为查积分表或者自己分部积分算一下:二分抛物线高度x,使得每...
阅读全文
摘要:给出的曲线要么是开口向上的抛物线要么是直线,但所定义的F(x)的图形一定是下凸的。注意一点就是求得是极小值,而不是横坐标,样例也很容易误导人。 1 #include 2 #include 3 using namespace std; 4 5 const int maxn = 10000 + 1...
阅读全文
摘要:很水的一道题,因为你发现这个函数是单调递减的,所以二分法求出函数的根即可。 1 #include 2 #include 3 //using namespace std; 4 5 const double e = 1e-14; 6 double p, q, r, s, t, u; 7 8 in...
阅读全文
摘要:书上分析的太清楚,我都懒得写题解了。=_=|| 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int maxp = 100; 8 const int maxn = 500; 9 bo...
阅读全文
摘要:将这n个格子看做一个向量,每次操作都是一次线性组合,即vn+1 = Avn,所求答案为Akv0A是一个n*n的矩阵,比如当n=5,d=1的时候:不难发现,A是个循环矩阵,也就是将某一行所有元素统一向右移动一位便得到下一行。而且循环矩阵相乘仍然是循环矩阵,所以只要求出Ak的第一行就行了。 1 #inc...
阅读全文
摘要:给出一个d阶线性递推关系,求f(n) mod m的值。,求出An-dv0,该向量的最后一个元素就是所求。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 20; 7 8 typedef...
阅读全文
摘要:思路挺简单的,题目中的每个命令(包括命令的逆)相当于一个置换。用O(n2k)的时间复杂度从右往左求出这些置换的乘积A,然后求m使Am = I(I为全等置换)还是先把A分解循环,m则等于所有循环节长度的最小公倍数。需要注意的是:执行命令是从右往左执行的,这是题目中说的=_=其他命令还好,mix那个命令...
阅读全文
摘要:把{1, 2, 3,,, n}叫做自然排列本题便是求有多少个n元排列P要至少经过k次交换才能变为自然排列。首先将排列P看做置换,然后将其分解循环,对于每个长度为i的循环至少要交换i-1次才能归位。设有d(i, j)个i元排列至少交换j次才能变成自然排列。则有d(i, j) = d(i-1, j) +...
阅读全文
摘要:给出一个26个大写字母的置换B,是否存在A2 = B每个置换可以看做若干个循环的乘积。我们可以把这些循环看成中UVa 10294的项链, 循环中的数就相当于项链中的珠子。A2就相当于将项链旋转了两个珠子间的距离,珠子0、2、4...构成一个循环,一共有gcd(n, 2)个循环,每个循环的长度为n /...
阅读全文
摘要:Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f)。等价类的数目等于所有C(f)的平均值。一个项链,一个手镯,区别在于一个能翻转一个不能,用t种颜色染n颗珠子,求等价类的个数。旋转置换群一共有n个置换,分别对应将项链整体逆时针旋转0个、1个、...
阅读全文
摘要:设f(x)表示x转移到1需要的次数的期望,p(x)为不超过x的素数的个数,其中能整除x的有g(x)个则有(1-g(x)/p(x))的概率下一步还是转移到x,剩下的情况各有1/p(x)的概率转移到x/y根据全期望公式,f(x) = 1 +(1-g(x)/p(x)) * f(x) + sum{ 1/p(...
阅读全文
摘要:设d(i, j)表示前i局每局获胜的比例均不超过p,且前i局共获胜j局的概率。d(i, j) = d(i-1, j) * (1-p) + d(i-1, j-1) * p则只玩一天就就不再玩的概率Q = sum{d(n, i) | 0 ≤ i≤ p*n}那么期望为这是一个无穷级数,可以用高数的一些知识...
阅读全文
摘要:高中也做个这种类似的题目,概率空间是[t1, t2] × [s1, s2]的矩形,设x、y分别代表两辆列车到达的时间,则两人相遇的条件就是|x - y| 2 #include 3 #include 4 using namespace std; 5 6 struct Point 7 { 8 ...
阅读全文
摘要:Tribble是麻球?因为事件都是互相独立的,所以只考虑一只麻球。设f(i)表示一只麻球i天后它以及后代全部死亡的概率,根据全概率公式:f(i) = P0 + P1 * f(i-1) + P2 * f(i-1)2 + ... + Pn * f(n)n每个麻球死亡是独立的,所以Pj * f(i-1)j...
阅读全文
摘要:如果已经有三个相邻的X,则先手已经输了。 如果有两个相邻的X或者两个X相隔一个.,那么先手一定胜。 除去上面两种情况,每个X周围两个格子不能再放X了,因为放完之后,对手下一轮再放一个就输了。 最后当“禁区”布满整行,不能再放X了,那个人就输了。 每放一个X,禁区会把它所在的线段“分割”开来,这若干个
阅读全文

浙公网安备 33010602011771号