2019.10.05考试报告

 

这次考试总体来说还是挺简单的,但由于T2卡常,导致T3只打了30分的暴力。

 

T1

挺像原来B组的T2,但是由于每次都是固定数m次,所以可以每次直接跳到改取mod的那次操作,

因为mod越来越大,从n->n-m+1->n-2*m+1,跳的次数从m->m/2->m/3-......>m/(n/m)
时间复杂度 $ O(m*ln(m)) $。

 

T2

我的打法是分治,[L,R]的ans分为[L,mid]的ans和[mid+1,R]的ans,以及两边乘起来的贡献。

需要维护以下几个量:

扫描二维码关注公众号,回复: 7427367 查看本文章

$\sum a[i]^2$

$\sum b[i]^2$

$\sum a[i]*b[i]$

用线段树实现即可。

 

T3

其实很水......

f[i][j]代表a序列考虑到第i个,b序列考虑到第j的且b[j]必须选的LCIS。

g[i][j][0/1]代表f[i][j]的转移点,记两个的原因下面有。

1>a[i]!=b[j] f[i][j]=f[i-1][j],g[i][j][0/1]=g[i-1][j][0/1];(i并不一定从i-1转移,所以g要开两个)

2>a[i]==b[j] f[i][j]=max{f[i-1][k]}+1,g[i][j][0]=i-1,g[i][j][1]=k;

k其实不用枚举,因为在枚举j的时候把合法的f[i-1][j]加入集合即可。

复杂度 $ O(nm) $

(✿◕‿◕✿)

 

 

 

猜你喜欢

转载自www.cnblogs.com/AthosD/p/11624569.html