• 模拟测试20191104


    $T1:组合$

    的欧拉路径

    $Hierholzer$跑一遍可以得到经过点的顺序

    那个$map+vector$映射一下就可以得到经过的边了

     

    $T2:统计$

    首先设$f_{i}$表示i以后比$a_{i}$小的数的个数

    那答案就是$sumlimits_{i=1}^{n}f_{i}$

    我们发现每次排序对答案的影响只在于被排序点的f归零

    而每个点其实只需要改变一次

    用线段树维护一下区间最小值就行了

     

    $T3:点亮$

    好久没有做过的一种$树p$类型

    设$dp_{i,j,sta}$表示根到i的路径上点的状态为$sta$,$i$子树中点亮了$j$个点时的最大值

    在每个点暴力合并子树跑背包,复杂度为$sumlimits_{i=1}^{n}2^{dep_{i}} imes sz_{i}^{2}$

    然而由于树随机生成,分析得到总复杂度约为$O(n^{2})$

    注意$dp$数组直接开不下,可以用$vector$进行$dp$

    因为状态数只有$sumlimits_{i=1}^{n}2^{dep_{i}} imes sz_{i}$

     

  • 相关阅读:
    B2. Cat Party (Hard Edition)
    Dubbo集群容错
    Dubbo负载均衡
    Dubbo多协议支持
    Dubbo服务分组
    Dubbo多版本控制
    Dubbo管控平台
    Dubbo应用到web工程
    Dubbo使用Zookeeper注册中心
    Dubbo直连方式
  • 原文地址:https://www.cnblogs.com/mikufun-hzoi-cpp/p/11795097.html
Copyright © 2020-2023  润新知