摘要:
T1 对于同一种假币,可以发现随着取的数量越来越多,单张的贡献是越来越小的。我们将所有假币都只取一张的贡献算出来,放进堆里面。每次取出贡献最大的出来,然后推他的下一层贡献即可。 T2 对于两个点 u->v 。当且仅当u是这条路径上第一个被选中的元素的时候v会被u锤。可以发现期望就是所有路径长度倒数之 阅读全文
摘要:
难搞的题啊……做了一下午 使用到了主席树,AC自动机,根号分治,树状数组等算法及技巧。 可以想到一个比较明显的做法,就是建立出AC自动机,然后将fail树的dfs序处理出来,建立线段树。对于选取的 \(s[l,r]\) 这些字符串,将结束点的子树加一,然后枚举 s[k] 在线段树里面查询答案。 发现 阅读全文