CSP2025游记

· · 生活·游记

省流:

退役选手场外口胡记。

T1

[语音]哦,不是这个题是不是你就先把所有的都搞成最大的。

[语音]然后你注意到就是比如说a是最大的,然后你就不需要管,你就只需要把a里面的东西往外调,然后你也不需要管,把a这里的东西往外调成啥,你只需要把它调出去以后,反正不会有两个最大的大于二分之N,所以说你就什么把差值最小的往外调就行了。

我没写。

T2

[语音]T2是不是你就2的十次方枚举一下,然后直接最小生数就行了。然后排序的部分显然说和这个2的十次方的枚举是分开的,所以说它是加的法度,然后就对了。

我没写。

T3

[语音]就是你把所有SI,比如说S,你把那个一个映射S称为S1 S2,然后你就把它按这样排列,就是一一,然后S21,然后S12,然后S22,然后这样交错排列。

[语音]然后你就把T类似排列,然后一个T能一个T的话,你就是先找到它前面一段儿相等的,然后再找到它中间,然后再找它最长一段后面相等的,然后中间会有一段儿。

[语音]然后比如说你先要去有一个T,然后你就先找到它一段极长的相等串儿和,就是极长的ABCC这样的串儿,还有极长的ABCC这样的串儿,然后比如说把第一段儿不等于标记为L。

[语音]然后你的问题就相当于要去找一个S串儿,这个S串儿需要以这个需需要是这个整个串子串,并且LR是它的子串。

[语音]然后,这个问题是简单的,你直接上sum,你直接把它们全部丢到一个广义sum里面,然后子串信息就会变成一个子数信息了。

[语音]对呀,你直接你直接把ST什么全丢一个广义三个里面,你不就三文鱼,然后你把那个T对应串定位出来,然后你再把这个S的整串定位出来,相当于要求有多少个S满足他的那个T的整串的子数,且在那个什么且那个什么,它包含那个小的指数。

[语音]然后你可以去在sum上直接剖一下,对吧,然后你把那个必须包含某一个指数的信息直接剖一下,就会变成log段数量信息,就是log段区间,然后相当于查询这个log段时间里面的,然后外面那个还有一个区间的限制,你把他们先取个交,然后相当于就是查询落端区间里。

[语音]然后相当于说是这个是静态的,所以你在外面套个前率河就行了,所以说你的杂度应该会是一个就是见见广义下的复杂度加上一个那个询问乘上log的复杂度。

我没写。

T4

你可以设 fijk表示前i个人,有k个放弃的人,有j个>k才放弃的被填在了前面的部分的方案数

转移的时候

枚举有多少个=k的在前面被填

乘个组合数

前面不算取出的系数

我写了。