热身赛
4道原题,3道水题+1道防AK(乱搞?)题,10min水出前3题提前下班
正式赛
题目有梯度,给出题人点赞!
开场前1h签了5个到,当时排名很靠前。之后就3人卡3题(ILM),I 我之前一直手推行列式,后来发现不如直接把矩阵存下来写代码算。L是个容斥,M是SAM,队友好像忽略了某个细节。不过最后都过了。
之后推G,状压DP,发现要二分查找,我二分写的有点丑,不过测了几组样例没问题,然后交上去过了。
之后我在想D,感觉像是个网络流,但是担心复杂度会炸。正好队友没有别的题写,我就上去写写看。写到一半,队友推出了C上去写,27种情况考虑得差不多了。可惜最后因为qpow写错和数组越界,没有调出来。
最后 rk10
简要题解
B
签到
I
有一个未知的复变函数
f
(
z
)
=
a
z
+
b
c
z
+
d
f(z)=\frac{az+b}{cz+d}
f(z)=cz+daz+b ,给定 3 个点值,求第 4 个点值。
思路:化为
z
a
+
b
−
w
z
c
−
w
d
=
0
za+b-wzc-wd=0
za+b−wzc−wd=0。我们需要让
∣
1
1
1
1
z
0
z
1
z
2
z
3
w
0
w
1
w
2
w
3
z
0
w
0
z
1
w
1
z
2
w
2
z
3
w
3
∣
=
0
\begin{vmatrix}1&1&1&1\\z_0&z_1&z_2&z_3\\w_0&w_1&w_2&w_3\\z_0w_0&z_1w_1&z_2w_2&z_3w_3\end{vmatrix}=0
∣∣∣∣∣∣∣∣1z0w0z0w01z1w1z1w11z2w2z2w21z3w3z3w3∣∣∣∣∣∣∣∣=0
求
w
0
w_0
w0 的值。
将行列式展开即可。
G
定义字符串的一个变换为:从后往前,把第
i
i
i 个不同的字母转换成第
i
i
i 个字母。
求变换后字典序最大的子序列
(只包含前20种字母)
思路:用 vector 保存各个字母的位置,然后状压,从小到大枚举第
i
i
i 个不同的字母最多扩展多少个(能保证依然用满所有字母)。
总结
总体而言表现还行,不过中途卡题还是有点久了,以及最后1h状态不够稳。
虽然除了防AK题以外,思路基本都出来了,但是想到思路和比赛时通过还是有一定的差距。如果想在本赛季出线,可能还是有点吃力的。