[八省联考2018]制胡窜

https://www.luogu.org/problemnew/show/P4384

容斥一下考虑计算切两刀使得三个串都不存在的s[l,r]的方案数。
分类讨论一下。
1.有三个互不相交的目标串
此时显然无解。

2.最左边的目标串和最右边的目标串相交
画一下图可以发现。
答案是一个sigema (p[i]-p[i-1])*(p[i]-p[1])的形式。
其中p为right集合,线段树合并维护一下就行。

3.最左边的目标串和最右边的目标串不相交
本质上就是变成了一个区间限制,改成区间查询了而已。

写是不可能写的,这辈子都不可能的

posted @ 2019-03-21 09:03  Creed-qwq  阅读(116)  评论(0编辑  收藏  举报