摘要:
Alice收到一份来自美国的生日礼物:一个崭新的双链火车,火车有N节车厢,依次编号为1到N,你可以在该玩具上进行两种操作: A:把X号车厢移到Y号车厢前面; B:把X号车厢移到Y号车厢后面。 Alice收到礼物后很兴奋,玩了数小时,记录下每一步的操作以至于他能还... 阅读全文
摘要:
Alice收到一份来自美国的生日礼物:一个崭新的双链火车,火车有N节车厢,依次编号为1到N,你可以在该玩具上进行两种操作: A:把X号车厢移到Y号车厢前面; B:把X号车厢移到Y号车厢后面。 Alice收到礼物后很兴奋,玩了数小时,记录下每一步的操作以至于他能还... 阅读全文
摘要:
给你一个字符串,要你求出最长的至少出现两次的子串这个题呢,很明显是SA啦 是SAM的裸题!帅气简介高大上的SAM出现啦(比难看的SA好到不知道哪里去了)#include#include#include#define N 400010using namespace ... 阅读全文
摘要:
给你一个字符串,要你求出最长的至少出现两次的子串这个题呢,很明显是SA啦 是SAM的裸题!帅气简介高大上的SAM出现啦(比难看的SA好到不知道哪里去了)#include#include#include#define N 400010using namespace ... 阅读全文
摘要:
给出N个D维空间的点。求出曼哈顿距离最大的两个点的曼哈顿距离。两个点(x1,x2,,,xD)、(X1,X2,,,XD)的曼哈顿距离被定义为|x1-X1| +|x2-X2|+... +|xD-XD|。 d#include#includeusing namespace s... 阅读全文
摘要:
给出N个D维空间的点。求出曼哈顿距离最大的两个点的曼哈顿距离。两个点(x1,x2,,,xD)、(X1,X2,,,XD)的曼哈顿距离被定义为|x1-X1| +|x2-X2|+... +|xD-XD|。 d#include#includeusing namespace s... 阅读全文
摘要:
给出一个数列a1,a2,。。。,an和K,P。 设Si,j = ai + ai+1::: + aj Answer = min{Si,j mod P|Si,j mod P>=K},其中i=K}非空。先预处理出取模后的前缀和s,那么问题变成min(s[j]-s[... 阅读全文
摘要:
给出一个数列a1,a2,。。。,an和K,P。 设Si,j = ai + ai+1::: + aj Answer = min{Si,j mod P|Si,j mod P>=K},其中i=K}非空。先预处理出取模后的前缀和s,那么问题变成min(s[j]-s[... 阅读全文
摘要:
过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目.精确地说,他们有P (1 #include#define INF 0x7f7f7f7fint n,m,f[310][1010],w[310],v[310],ans=1b)a=b; }int... 阅读全文
摘要:
过去的日子里,农夫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],... 阅读全文