随笔分类 - 数据结构
摘要:两个等长的由大写英文字母构成的字符串a和b,从a中选择连续子串x,从b中选出连续子串y。定义函数f(x,y)为满足条件xi=yi(1j 情况是对称的,所以贡献是(n-i+1)*(n-j+1)所以对于a,我们维护一个前缀和sf[i][c]表示所有j满足j=i且a[j]=...
阅读全文
摘要:题意:给一个字符串,对于每个位置i,求出最短满足的子串[l,r]使得i∈[l,r]且这个子串只出现一次,输出这个子串的长度神(shui)题,AC后看了下别人的code发现全都是后缀数组(难看)可能是因为我太弱了所以只想到SAM的算法做法:建立SAM,求出parent树...
阅读全文
摘要:题意:给一个字符串,对于每个位置i,求出最短满足的子串[l,r]使得i∈[l,r]且这个子串只出现一次,输出这个子串的长度神(shui)题,AC后看了下别人的code发现全都是后缀数组(难看)可能是因为我太弱了所以只想到SAM的算法做法:建立SAM,求出parent树...
阅读全文
摘要:给你一个无向图,请你选择最少的关键点使得每一个顶点i,与i联通的关键点有奇数个(其实就是把全部灯关掉,按一下按钮可以反转灯的状态)范围n#include#define l(i) (1ll f;int n,m,tot,ans=1tot){ if(s1==l(n+1)-...
阅读全文
摘要:给你一个无向图,请你选择最少的关键点使得每一个顶点i,与i联通的关键点有奇数个(其实就是把全部灯关掉,按一下按钮可以反转灯的状态)范围n#include#define l(i) (1ll f;int n,m,tot,ans=1tot){ if(s1==l(n+1)-...
阅读全文
摘要:Alice收到一份来自美国的生日礼物:一个崭新的双链火车,火车有N节车厢,依次编号为1到N,你可以在该玩具上进行两种操作: A:把X号车厢移到Y号车厢前面; B:把X号车厢移到Y号车厢后面。 Alice收到礼物后很兴奋,玩了数小时,记录下每一步的操作以至于他能还...
阅读全文
摘要:Alice收到一份来自美国的生日礼物:一个崭新的双链火车,火车有N节车厢,依次编号为1到N,你可以在该玩具上进行两种操作: A:把X号车厢移到Y号车厢前面; B:把X号车厢移到Y号车厢后面。 Alice收到礼物后很兴奋,玩了数小时,记录下每一步的操作以至于他能还...
阅读全文
摘要:给出一个数列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[...
阅读全文
摘要:给你一个序列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时必须对子树排...
阅读全文
摘要:大家好,这是我在CSDN上的第一篇文章,如果有什么不恰当的地方,请各位大神们指出。 最近都在学可并堆去了,挺有感想,所以给广大朋友们分享一下。今天就讲讲3种吧:左偏树,斜堆,随机堆声明:1.转载请声明出处2.此文章中所有代码是本人亲手编写,如有雷同,纯属巧合我们先来了...
阅读全文
摘要:大家好,这是我在CSDN上的第一篇文章,如果有什么不恰当的地方,请各位大神们指出。 最近都在学可并堆去了,挺有感想,所以给广大朋友们分享一下。今天就讲讲3种吧:左偏树,斜堆,随机堆声明:1.转载请声明出处2.此文章中所有代码是本人亲手编写,如有雷同,纯属巧合我们先来了...
阅读全文