• Wannafly挑战赛5


    地址:https://www.nowcoder.com/acm/contest/36#question

    A(前缀和)

    分析:

      先求个前缀和,统计以i为右端点的区间个数,那么从左到右枚举i,对于每个i,希望找到一个j(j<i),使得s[i]-s[j]是完全平方数,因为完全平方数最多就1000个,所以我们可以枚举完全平方数来计数,时间复杂度O(10^8)

    B(签到)

    C(dfs)

    分析:

      容易知道一个性质,如果遇见了一个环,就在这个环上无穷走,那么方差就是这个环的方差

      先预处理出能由S到达的且能到达T的点集,在上面dfs所有S->T的路径

      如果路上遇见了环,那么将环作为答案

    D(数学推导)

    分析:

      这题最大的问题就是如何解决容斥的问题

      我们可以定义一个S是有效字符串当且仅当T是S子序列并且字典序最小,这样在计算的时候就不会出现重复了

      具体的,我们将T的每个字符之间都画上一个空格,表示待填字符

      那么对于每个T[i],i前面那个空格里就不能填T[i],所以一共len+1个空格中,前len个都是有25种字符可以填,最后一个则是26种字符可以填

      枚举给最后一个空格的数量,计算方案数,前面len个格子就是25^x,x就是对应的不定方程的解的个数,组合数求一下就行了

    E(树上路径交)

    分析:

      容易发现一点,那就是以i为根的子树,删去一些边使得树高改变,那么这些边一定是从i往下的一条链,可以树形dp求出来

      那么对于每个询问,就是求一下两条树上路径的路径交

      求(a,b) (c,d) 的路径交:

        求lca(a,c) lca(a,d) lca(b,c) lca(b,d) 其中深度最深的两个点之间的路径就是交

  • 相关阅读:
    (转)python3 计算字符串、文件md5值
    CF1398D Colored Rectangles(DP)
    Colab运行GitHub代码
    Pytorch错误解决
    SAP内部订单
    料工费
    摘抄,泛起内心的一丝波澜
    审计意见类型
    生产订单设置自动倒冲
    SAP常用事务码及规则tcode
  • 原文地址:https://www.cnblogs.com/wmrv587/p/8034318.html
Copyright © 2020-2023  润新知