![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
文章平均质量分 50
Ren_Ivan
衡中oier,fight for furture
展开
-
bzoj 3629 聪明的燕姿 约数和+dfs
考试只筛到了30分,正解dfs......对于任意N=P1^a1*P2^a2*......*Pn^an,F(N)=(P1^0+P1^1+...+P1^a1)(P2^0+P2^1+...+P2^a2)*...*(Pn^0+Pn^1+...+Pn^an)从小到大枚举素数P,依次判定是否有K满足(P^0+P^1+...+P^K)|X有一些细节需要处理,比如当前S为某大素数+1......原创 2017-07-10 20:05:34 · 333 阅读 · 0 评论 -
bzoj 3239 poj 2417 BSGS
BSGS算法,预处理出ϕ(c)−−−−√\sqrt{\phi(c)}内的a的幂,每次再一块一块的往上找,转移时将b乘上逆元,哈希表里O(1)查询即可#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<map>#define LL long longlo原创 2017-08-14 10:42:52 · 274 阅读 · 0 评论 -
bzoj 2242 [SDOI2011]计算器 快速幂+扩展欧几里得+BSGS
1:快速幂 2:exgcd 3:exbsgs,题里说是素数,但我打的普通bsgs就wa,exbsgs就A了......(map就是慢).....#include#include#include#include#include#include#define LL long longusing namespace std;map pp;map bo;LL a,b,c;原创 2017-08-15 06:30:22 · 485 阅读 · 0 评论 -
poj 3243 扩展BSGS
每次把gcd(a,c)提到前面,知道a,c互质,然后就是普通BSGS了#include#include#include#include#include#define LL long longusing namespace std;struct hashtable{ static const int N=577399; int tot,hash[N+10],key[N+5原创 2017-08-14 21:18:29 · 434 阅读 · 0 评论 -
51nod 1135 原根 就是原根...
%%% dalao Orz ,筛素数到sqrt(n),分解ϕ(p)\phi(p),依次枚举判断就好了#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define N 100000#define LL long longusing namespace std;LL原创 2017-08-14 08:44:13 · 343 阅读 · 0 评论 -
bzoj 2820 莫比乌斯反演
搞了一整个晚自习,题解详见 hzwer Orz 目前感觉没有思路….还是要多切题#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;const int N=10000000;long long ans,f[N+5];int原创 2017-08-12 07:25:11 · 288 阅读 · 0 评论 -
bzoj 2005 能量采集 莫比乌斯反演
我们要求的是∑ni=1∑mj=1(2×gcd(i,j)−1)\sum_{i=1}^{n}\sum_{j=1}^{m}{(2\times gcd(i,j)-1)} 化简得2×∑ni=1∑mj=1gcd(i,j)−n×m2\times\sum_{i=1}^{n}\sum_{j=1}^{m}{gcd(i,j)}-n\times m 所以我们现在只需要求出∑ni=1∑mj=1gcd(i,j)\sum_{原创 2017-08-13 15:15:04 · 313 阅读 · 0 评论 -
bzoj 2186 [Sdoi2008]沙拉公主的困惑 欧拉函数
n>=m,所以就变成了求ϕ(m!)∗n!/m!\phi(m!)*n!/m! 而ϕ(m!)=m!∗(p−1)/p......\phi(m!)=m!*(p-1)/p......p为m!的素因子,即为m内的所有素数,问题就转化为了求n!∗(p−1)/p......n!*(p-1)/p...... 只需要预处理出素数,阶乘,逆元即可#include<cstdio>#include<cstring>#原创 2017-08-13 07:21:50 · 229 阅读 · 0 评论 -
bzoj 2822 [AHOI2012]树屋阶梯 卡特兰数
因为规定n层的阶梯只能用n块木板 那么就需要考虑,多出来的一块木板往哪里放 考虑往直角处放置新的木板 不管怎样,只有多的木板一直扩展到斜边表面,才会是合法的新状态,发现,这样之后,整个n层阶梯就被分成了i层和n-1-i层的阶梯,即 f(n)=∑i=0n−1f(i)×f(n−1−i)f(n)=\sum_{i=0}^{n-1}{f(i)\times f(n-1-i)} 就是卡特兰数!!!,需要原创 2017-08-12 20:38:49 · 365 阅读 · 0 评论 -
bzoj 4173 打表???
没有任何思路,打表发现ans=phi(n)*phi(m)*n*m %%% popoqqq Orz 然而并没有看懂……#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define mod 998244353llusing namespace std;long原创 2017-08-12 17:11:10 · 333 阅读 · 0 评论 -
bzoj [Noi2002]Savage 扩展欧几里得
枚举m,n^2判断对于野人i,j,(H[i]+x*S[i])%m==(H[j]+x*S[j])%m,且x化简得:(S[i]-S[j])*x+y*m=C[j]-C[i],扩欧解x最小值,判断#include#include#include#include#include#define N 18using namespace std;int H[N],S[N],O[N],n,原创 2017-08-12 16:22:02 · 417 阅读 · 0 评论 -
bzoj 3505 [Cqoi2014]数三角形 组合
ans=所有的三点排列-共行的-共列的-斜着一条线的斜着的枚举每个点和原点的gcd,反过来也可以,还能左右,上下挪#include#include#include#include#includelong long ans,line,row,tot,n,m;int gcd(int x,int y){return y==0?x:gcd(y,x%y);}int main(){ s原创 2017-08-12 15:14:20 · 262 阅读 · 0 评论 -
bzoj 1409 Password 矩阵快速幂+欧拉函数
可以发现,该数组的mi就是斐波那契数列所以要矩阵快速幂搞出第n位但是斐波那契数列上涨的很快,这就需要欧拉定理了p^phi(q)%q=1(gcd(p,q)==1)p是素数,所以可以用然后需要5000个数的phi,q筛出sqrt(2^31)范围内的素数,然后直接找单个数的欧拉函数就好了最后再套个快速幂就A了#include#include#include#in原创 2017-07-30 14:30:20 · 360 阅读 · 0 评论 -
[ZLXOI2015]殉国 数论 扩展欧几里得
题目大意:已知a,b,c,求满足ax+by=c (x>=0,y>=0)的(x+y)最大值与最小值与解的个数。直接exgcd,求出x,y分别为最小正整数的解,然后一算就出来啦#include#include#define ll long longusing namespace std;ll a,b,c,x,y,d,bd,ad,X1,Y1,X2,Y2;ll Abs(ll x){ ret原创 2017-07-11 06:26:52 · 293 阅读 · 0 评论 -
bzoj2326 [HNOI2011]数学作业
矩阵乘,按位搞 两个矩阵,分别为 ans00i00100\begin{matrix} ans & i & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{matrix} 10k11011001\begin{matrix} 10^k &0 & 0 \\ 1 & 1 & 0 \原创 2017-08-26 12:07:25 · 262 阅读 · 0 评论