用户工具

站点工具


2020-2021:teams:mian:nowcoder_training:2020_multi-university_training_contest_4

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:mian:nowcoder_training:2020_multi-university_training_contest_4 [2020/07/20 23:06]
grapelemonade [Member Distribution]
2020-2021:teams:mian:nowcoder_training:2020_multi-university_training_contest_4 [2020/07/23 23:31] (当前版本)
withinlover [Comments]
行 1: 行 1:
-====== 2020牛客暑期多校训练营(第场) ======+====== 2020牛客暑期多校训练营(第场) ======
  
 ===== Results ===== ===== Results =====
行 5: 行 5:
 ==== Summary ==== ==== Summary ====
  
-  * Solved ​out of 12 problems +  * Solved ​out of 10 problems 
-  * Rank 96/1178 in official records +  * Rank 28/1159 in official records 
-  * Solved ​out of 12 afterwards+  * Solved ​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 =====
行 60: 行 70:
 ===== I ===== ===== I =====
  
 +读题发现错误率最高 5%,那么我们直接枚举当前未匹配的第一个点,拎出其所有邻接点,判断所有未匹配点到拎出来的点集中的点的连边数,设置一下允许浮动范围,迭代两次。最后全局重判一下,根据字典序调整一下标号,就卡过去了。
 ===== J ===== ===== J =====
  
行 72: 行 83:
   - 调参的时候要冷静合理调参,不要太莽(I)   - 调参的时候要冷静合理调参,不要太莽(I)
  
 +Gary:
 +  - 不盲目跟榜(E)
 +  - 有思路尽快分享讨论,码不出来浪费很多时间(D)
  
 +Withinlover:​
 +  - 习惯改好点,别用cin,​ cout(B)
 +  - 想好了再写,写了一半在改很花时间(D)
2020-2021/teams/mian/nowcoder_training/2020_multi-university_training_contest_4.1595257600.txt.gz · 最后更改: 2020/07/20 23:06 由 grapelemonade