这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:mian:nowcoder_training:2020_multi-university_training_contest_4 [2020/07/20 23:09] grapelemonade [2020牛客暑期多校训练营(第三场)] |
2020-2021:teams:mian:nowcoder_training:2020_multi-university_training_contest_4 [2020/07/23 23:31] (当前版本) withinlover [Comments] |
||
---|---|---|---|
行 5: | 行 5: | ||
==== Summary ==== | ==== Summary ==== | ||
- | * Solved 7 out of 12 problems | + | * Solved 5 out of 10 problems |
- | * Rank 96/1178 in official records | + | * Rank 28/1159 in official records |
- | * Solved 8 out of 12 afterwards | + | * Solved 5 out of 10 afterwards |
==== Virtual Participation ==== | ==== Virtual Participation ==== | ||
行 43: | 行 43: | ||
===== B ===== | ===== B ===== | ||
+ | |||
+ | 简单推导一下,发现最多可以乘约束个数次。预处理出所有数字最小的质因子然后$O(\log n)$的计算就可以了 | ||
===== C ===== | ===== C ===== | ||
+ | |||
+ | 统计变形后的所有子串个数,所有后缀变形后的子串即为所求,后缀的从右至左每次改变的次数不并不多且只改变连续的几位,对所有后缀变形后的串建SAM,记录每个位置结尾的串在SAM中的节点,每次改变跳回到对应的节点,统计即为所有节点$ans=\sum_{\forall i\in SAM}lenth[i]-lenth[parent[i]]$; | ||
===== D ===== | ===== D ===== | ||
+ | |||
+ | 将数字拆成一位数会得到最大值≤9; | ||
+ | |||
+ | 若最优结果的各数字位数相同,只需要对n的所有约数长度的答案进行判断; | ||
+ | |||
+ | 若位数不同,则一定存在1000x形式的数字,在串中找出满足条件的最长串,因为最大值≤9,符合条件的串一定为999x和1000x的形式,暴力匹配即可 | ||
===== E ===== | ===== E ===== | ||
行 73: | 行 83: | ||
- 调参的时候要冷静合理调参,不要太莽(I) | - 调参的时候要冷静合理调参,不要太莽(I) | ||
+ | Gary: | ||
+ | - 不盲目跟榜(E) | ||
+ | - 有思路尽快分享讨论,码不出来浪费很多时间(D) | ||
+ | Withinlover: | ||
+ | - 习惯改好点,别用cin, cout(B) | ||
+ | - 想好了再写,写了一半在改很花时间(D) |