字尾自動機+序列自動機
序列自動機這東西好像很高階的樣子。。。。。。
其實很簡單的啦。。。。。。
詳細可以看一下我的部落格序列自動機
對字串a構建字尾自動機$str_a$和序列自動機$seq_a$;類似地,對字串b也構建字尾自動機$str_b$和序列自動機$seq_b$。
然後對於4個詢問我們分別拿出1個自動機,如第乙個詢問拿出$str_a$和$str_b$(下面以第乙個詢問為例):
記$vis[x][y]$表示在$str_a$中到編號為$x$的點且在$str_b$中到編號為$y$的點的最短長度是多少,這個可以$bfs$。
#include#includeview code#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//#include適用於cf,uoj,但不適用於poj
using
namespace
std;
typedef
long
long
ll;typedef
double
db;typedef pair
pii;
typedef complex
cp;#define mmst(a,v) memset(a,v,sizeof(a))
#define mmcy(a,b) memcpy(a,b,sizeof(a))
#define fill(a,l,r,v) fill(a+l,a+r+1,v)
#define re(i,a,b) for(i=(a);i<=(b);i++)
#define red(i,a,b) for(i=(a);i>=(b);i--)
#define ire(i,x) for(typedef(x.begin()) i=x.begin();i!=x.end();i++)
#define fi first
#define se second
#define m_p(a,b) make_pair(a,b)
#define p_b(a) push_back(a)
#define sf scanf
#define pf printf
#define two(k) (1<
inline t sqr(t x)
template
inline void upmin(t &t,t tmp)
template
inline void upmax(t &t,t tmp)
const db eps=1e-9
;inline
int sgn(db x)
const db pi=acos(-1.0
);inline
intgint()
for(;z!=eof && isdigit(z);res=res*10+z-'
0',z=getchar());
return (neg)?-res:res;
}inline ll gll()
for(;z!=eof && isdigit(z);res=res*10+z-'
0',z=getchar());
return (neg)?-res:res;
}const
int maxn=2000
;struct
string_automation
}a[2*maxn+100];int
mid;
introot,end;
inline
int newnode()
inline
void clear()
inline
void add(int
x)
}end=last;
}inline
void insert(char *s)
};struct
sequence_automation
}a[maxn+100];int
mid;
int last[27
]; inline
int newnode()
inline
void clear()
inline
void add(int
x)
inline
void insert(char *s)
};char a[maxn+100],b[maxn+100
];string_automation str_a,str_b;
sequence_automation seq_a,seq_b;
int vis[2*maxn+100][2*maxn+100
];queue
q;template
inline int bfs(t1 &a,t2 &b)
}return -1
; }
intmain()
BZOJ2743 HEOI2012 採花 題解
蕭薰兒是古國的公主,平時的一大愛好是採花。今天天氣晴朗,陽光明媚,公主清晨便去了皇宮中新建的花園採花。花園足夠大,容納了n朵花,花有c種顏色 用整數1 c表示 且花是排成一排的,以便於公主採花。公主每次採花後會統計採到的花的顏色數,顏色數越多她會越高興!同時,她有一癖好,她不允許最後自己採到的花中,...
遞推 Bzoj3612 Heoi2014 平衡
下課了,露露 花花和萱萱在課桌上用正三稜柱教具和尺子擺起了乙個 蹺蹺板 這個 蹺蹺板 的結構是這樣的 底部是乙個側面平行於地平面的正三稜柱教具,上面 擺著乙個尺子,尺子上擺著若干個相同的橡皮。尺子有 2n 1 條等距的刻度線,第 n 1 條 刻度線恰好在尺子的中心,且與正三稜柱的不在課桌上的稜完全重...
bzoj4027 heoi2015 兔子與櫻花
time limit 10 sec memory limit 256 mb submit 360 solved 187 submit status discuss 很久很久之前,森林裡住著一群兔子。有一天,兔子們突然決定要去看櫻花。兔子們所在森林裡的櫻花樹很特殊。櫻花樹由n個樹枝分叉點組成,編號從0...