T1:
考虑每条边的贡献就完了
写的垃圾神他妈T了
code
T2:
我都知道对于本身是否好坏是要分开讨论
如果本身是好的要特殊处理
对于一段合法的
如果n−k不可以
那么就是a[1...k],a[n−k+1,n]一定匹配
明明可以KMP或哈希搞的匹配
我非对每种字符用fft搞了一个匹配
这就是脑残吧
好的串在kmp时倍长一下
code
T3:
突然发现自己看成面积了??
真该退役了。。。。
考虑答案起码为max(n,m)∗2+2
所以矩形一定过x=n/2或y=m/2
于是把所有树按照y排序
以及看作在顶边上时的答案
对于n/2分开
左右分别维护一个向外的单调栈
又
答案可以表示为(x2−x1+y2−y1)∗2这样
于是线段树维护x2−x1−y1这样的max即可
单调栈的时候区间修改即可
code