本题数据急需加强

P3966 [TJOI2013] 单词

具体时间复杂度分析和卡的方式: 1. 暴力 find c++中find函数的时间复杂度为 $O(|S||T|)$ ,其中 $S$ 和 $T$ 为匹配串和模式串。于是暴力 find 的时间复杂度为 $\sum_{i=1}^n\sum_{j=1}^n len_i len_j =\sum_{i=1}^n len_i\sum_{j=1}^n len_j=(\sum_{i=1}^n len_i)^2$ 这个做法已经被卡掉了。 2. 暴力 KMP KMP 的时间复杂度为 $O(|S|+|T|)$ 。使用 KMP 的最好的做法是先预处理每一个串的 KMP函数 然后再匹配,于是时间复杂度为 $O(\sum_{i=1}^n len_i + \sum_{i=1}^n\sum_{j=1}^n len_j )=O(n\sum_{j=1}^n len_j)$ 卡法:加大 $n$ 的范围。这种做法不开 O2 ,时间在 900ms 左右, 所以只需要稍微加大 $n$ 即可将其卡掉。但是考虑到开上 O2 时间变成了 400ms 并且可能会出现卡常带师,建议将其开大到原来的 $10$ 倍。
by Echidna @ 2021-07-25 09:58:11


@[某学oi的蒟蒻](/user/82284) 在[这里](https://www.luogu.com.cn/discuss/show?postid=9779)反馈有关题面的问题
by 想吃小熊饼干 @ 2021-07-25 10:06:00


个人觉得省选原题最好还是不要改数据范围吧
by Zhou_JK @ 2021-07-25 10:10:19


@[想吃小熊饼干](/user/485688) 这也不是题面问题啊……
by Echidna @ 2021-07-25 10:10:53


@[Zhou_JK](/user/69519) 确实 那可以整个加强版,然后顺便把题解区清理一下(
by Echidna @ 2021-07-25 10:14:52


@[chen_zhe](/user/8457)
by Echidna @ 2021-07-25 10:19:39


@[Zhou_JK](/user/69519) 这和是否是省选没有关系啊,数据水就是水了,如果这题想评紫,显然应该加强数据
by RevolutionBP @ 2021-11-06 08:33:41


咋又拉出来鞭尸了
by Zhou_JK @ 2021-11-06 17:04:20


我只是觉得开大省选数据范围的数据范围不太妥当
by Zhou_JK @ 2021-11-06 17:05:00


|