part 10
  • T1
  • 读题十分恶心,大概是有一个 \(n \cdot m\) 的网格图,统计最多的从 \((1,1)\)\((n,n)\) 的路径数每一步往右或往下走,还有若干个障碍,路径要满足,按包含障碍的集合大小升序排序之后,使得各个路径拥有的障碍数不同,且第 \(i\) 条路径有的障碍,第 \(i+1\) 条路径必须有
  • 如果 \((x+1,y)\)\((x,y+1)\) 都是障碍则 \((x,y)\)\((x+1,y+1)\) 都不能走了干脆将它设成障碍
  • 我们则是要求障碍相邻的连通块数即可
  • T2
    • 首先考虑 \(m=1\) 那很简单了,我们直接建立 \(trie\) 树然后求 lca 即可
    • 然后考虑 minmax 容斥
    • $ \max(a, b, c) = a + b + c - \min(a,b) - \min(b, c) - \min(a, c) + \min(a, b, c)$
    • 问题转换为求 \(\min\)
    • 令现在仍有 \(t\) 个字符串
    • 则我们可以考虑把 \(t\) 个字符串最短的长度设为 \(len\) ,每个字符串都取前 \(len\) 个字符,从第一个字符开始一个一个字符加入。
      • 即加入序列为 \(s_{i,1,1},s_{i,2,1}, …… s_{i,t,1},s_{i,1,2},s_{i,2,2}, …… s_{i,t,2} …… s_{i,1,len},s_{i,2,len}, …… s_{i,t,len}\)
      • 按照这个序列构建 trie 树
    • 所以我们此时可以发现 \(i\)\(j\)\(\min_lcp\) 即为它们的 \(\frac{dep_lca}{m}\)