![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
Mmasker
希望能靠自己的努力为自己赢得荣誉
展开
-
2019南昌ICPC网络赛 H.The Nth Item(矩阵快速幂+欧拉降幂+数学处理)
#include<bits/stdc++.h> using namespace std; #define maxn 100005 #define ll long long typedef pair<int,int> PII; const int mod = 998244353; const int modd = 998244352; //素数欧拉降幂 ...原创 2019-09-09 11:42:55 · 138 阅读 · 0 评论 -
2018 CCPC吉林赛区 F.The Hermit(数学不等式判结论)
题目链接 HDU 6560 题解思路: 首先,我们根据题目给的条件能归结出几个不等式: (1) k <= j < i ; (2) k >= i - rad[i] + 1 >=1; (3) k >= j - rad[j] + 1 >=1; (4) i <= j + rad[j] -1 ; (5) j - k >= i - j >=1...原创 2019-09-11 19:04:44 · 411 阅读 · 0 评论 -
2019HDU 多校第三场 1006.Fansblog (威尔逊定理+素数判定)
题目大意:给你一个质数P,要你求出P的上一个质数Q,求Q! % P的值。 题解思路:根据威尔逊定理可知如果P是一个素数,那么( P - 1 )! ≡ -1 % P,然后我们就可以将我们要求的式子进行转化,( P - 1 )! = Q! * ( Q+1 )( Q+2 ) * … * ( P-1 ),所以Q! % P = -1/ ( Q+1 )( Q+2 ) * … * ( P-1 ) % P。然后...原创 2019-08-07 15:15:03 · 129 阅读 · 0 评论 -
E. Product Oriented Recurrence(矩阵快速幂+欧拉降幂)
#include<bits/stdc++.h> using namespace std; #define maxn 300005 #define ll long long const int mod = 1e9+7; const int modd = 1e9+6; ll n,f1,f2,f3,c; int b[10][10]; struct Mat{ ll m[10][10]; ...原创 2019-06-14 21:51:27 · 321 阅读 · 0 评论 -
初学矩阵快速幂
洛谷 P3390 #include<bits/stdc++.h> using namespace std; #define maxn 300005 #define ll long long const int mod = 1e9+7; int n; ll k; struct Mat{ ll m[105][105]; Mat(){ for(int i=1;i<=n;...原创 2019-06-13 15:45:52 · 105 阅读 · 0 评论 -
牛客小白月赛14 E.等比数列三角形
我们先按题意,把三角形的三条边用(x,kx,k²x),由于我们枚举的时候是从小到大枚举,所以我们这里默认k>=1。 要满足三角形的条件,x+kx>k²x——>(1-√5)/2<k<(1+√5)/2; 最终我们推出来k的范围是 [ 1,(1+√5)/2 ) 我们把k转换成分数形式:k=p/q; 之后我们枚举只需要考虑1 ≤ q ≤ √n,1 ≤ p < q*(...原创 2019-06-05 12:34:42 · 243 阅读 · 0 评论 -
(逆元+快速幂)求组合数
大多数的编程问题都离不开数学问题,而排列组合作为数学的一重要分支,自然也会被列入编程学科里来。 下面给出一道简单例题: 众所周知,不定方程的解有0个或者若干个。 给出方程: 想知道这个不定方程的正整数解和非负整数解各有几个。 (链接:https://ac.nowcoder.com/acm/contest/553/D来源:牛客网) 很容易的,我们通过数学方法能推出正整数解s1=C(m-1,n-1)...原创 2019-04-07 16:42:06 · 757 阅读 · 0 评论 -
EOJ Monthly 2019.5 (based on May Selection) B.幂运算
这题是一道不容易写的数学题,并且题目只给了1s,就是说O(n)的算法都会T(我T了无数发),这时我们就要从别的方向考虑了。 我们发现a,b,c,d都是在1e9范围内的,就是说如果我们把a和c看成x ^ k1和x ^ k2,那么k1,k2<=32,这下子我们的运算量一下就小下来了。 题目要求的是a ^ b = c ^ d,我们把a,c按照上面那样处理,变成x ^ k1和x ^ k2,这样最...原创 2019-05-31 20:04:36 · 223 阅读 · 0 评论