随笔分类 - OI
摘要:过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目.精确地说,他们有P (1 #include#define INF 0x7f7f7f7fint n,m,f[310][1010],w[310],v[310],ans=1b)a=b; }int...
阅读全文
摘要:给你一个序列s和n个限制,(a,b)表示s[a]#includeusing namespace std;set f[10010];int n,m,h,k,s[10010];int main(){ scanf("%d%d%d%d",&n,&k,&h,&m); s[0]=...
阅读全文
摘要:给你一个序列s和n个限制,(a,b)表示s[a]#includeusing namespace std;set f[10010];int n,m,h,k,s[10010];int main(){ scanf("%d%d%d%d",&n,&k,&h,&m); s[0]=...
阅读全文
摘要:这里简单说一下rabin-karp其实就是字符串hash算法,不理解的可以自行百度对于一颗树,我们可以将其变为一个括号序列,对这个括号序列作rabin-karp,让后就可以轻松判断同构了是不是很简单细节不多说,有一点必须注意:因为子树是无序的,所以dfs时必须对子树排...
阅读全文
摘要:这里简单说一下rabin-karp其实就是字符串hash算法,不理解的可以自行百度对于一颗树,我们可以将其变为一个括号序列,对这个括号序列作rabin-karp,让后就可以轻松判断同构了是不是很简单细节不多说,有一点必须注意:因为子树是无序的,所以dfs时必须对子树排...
阅读全文
摘要:若两个数的最大公约数为1,则这两个数互质。现在给出一个正整数N(1int N,M,K;int main(){ scanf("%d",&N); K=M=N; for(int i=2;1ll*i*i1) M=M/N*(N-1); printf("%lld\n",1ll*K...
阅读全文
摘要:若两个数的最大公约数为1,则这两个数互质。现在给出一个正整数N(1int N,M,K;int main(){ scanf("%d",&N); K=M=N; for(int i=2;1ll*i*i1) M=M/N*(N-1); printf("%lld\n",1ll*K...
阅读全文
摘要:关于扩展gcd其实没有必要搞懂,背下来就好了如果不会的自行学习对于方程ax=b(mod M),我们可以将其化简成为ax+My=b,让后用扩展gcd求解当b|r=gcd(a,M)时,方程有r个解,否则无解,对于有解的情况,每个解为用gcd求出的x乘上b/r+k*(M/r...
阅读全文
摘要:关于扩展gcd其实没有必要搞懂,背下来就好了如果不会的自行学习对于方程ax=b(mod M),我们可以将其化简成为ax+My=b,让后用扩展gcd求解当b|r=gcd(a,M)时,方程有r个解,否则无解,对于有解的情况,每个解为用gcd求出的x乘上b/r+k*(M/r...
阅读全文
摘要:正解:同余方程对于每对野人i,j,解方程(p[i]-p[j])=c[j]-c[i](mod Answer) 若在min(l[i],l[j])以内有解则不行(++ANS)否则可以#include#includeusing namespace std;int c[20],...
阅读全文
摘要:正解:同余方程对于每对野人i,j,解方程(p[i]-p[j])=c[j]-c[i](mod Answer) 若在min(l[i],l[j])以内有解则不行(++ANS)否则可以#include#includeusing namespace std;int c[20],...
阅读全文
摘要:大家好,这是我在CSDN上的第一篇文章,如果有什么不恰当的地方,请各位大神们指出。 最近都在学可并堆去了,挺有感想,所以给广大朋友们分享一下。今天就讲讲3种吧:左偏树,斜堆,随机堆声明:1.转载请声明出处2.此文章中所有代码是本人亲手编写,如有雷同,纯属巧合我们先来了...
阅读全文
摘要:大家好,这是我在CSDN上的第一篇文章,如果有什么不恰当的地方,请各位大神们指出。 最近都在学可并堆去了,挺有感想,所以给广大朋友们分享一下。今天就讲讲3种吧:左偏树,斜堆,随机堆声明:1.转载请声明出处2.此文章中所有代码是本人亲手编写,如有雷同,纯属巧合我们先来了...
阅读全文