【2020省选模拟】题解

T1:

考虑每条边的贡献就完了
写的垃圾神他妈T了

code

T2:

我都知道对于本身是否好坏是要分开讨论
如果本身是好的要特殊处理
对于一段合法的
如果nkn-k不可以
那么就是a[1...k],a[nk+1,n]a[1...k],a[n-k+1,n]一定匹配
明明可以KMPKMP或哈希搞的匹配
我非对每种字符用fftfft搞了一个匹配

这就是脑残吧

好的串在kmpkmp时倍长一下
code

T3:

突然发现自己看成面积了??
真该退役了。。。。

考虑答案起码为max(n,m)2+2max(n,m)*2+2
所以矩形一定过x=n/2x=n/2y=m/2y=m/2
于是把所有树按照yy排序
以及看作在顶边上时的答案
对于n/2n/2分开
左右分别维护一个向外的单调栈

答案可以表示为(x2x1+y2y1)2(x2-x1+y2-y1)*2这样
于是线段树维护x2x1y1x2-x1-y1这样的maxmax即可
单调栈的时候区间修改即可

code

posted @ 2020-02-08 17:38  Stargazer_cykoi  阅读(179)  评论(0编辑  收藏  举报