博客
关于我
Atcoder训练实录
阅读量:104 次
发布时间:2019-02-26

本文共 1407 字,大约阅读时间需要 4 分钟。

ARC093-E - Bichrome Spanning Tree

这个问题看起来不算太难,但自己还是会觉得做不出来。题目要求构造一个同时包含黑边和白边的MST(最小生成树)。首先,回顾一下MST的基本知识,原图的MST是由M、S、T组成的,边权和为S。接下来,需要对每条不在当前MST中的边进行分析,计算其权重减去可以替换掉MST中最大边权的值。

分类讨论如下:

  • 当S > X时,无解

    • 设eq为所有num[i]等于X-S的数量,up为所有num[i]大于X-S的数量。当S > X时,eq和up的值会导致无解。
  • 当S = X时

    • 这时有两种操作:
      • 第一种操作:直接将MST替换为包含X的新图。
      • 第二种操作:构建一个新的MST,使其满足特定条件。具体计算公式为:[(2n - 1 - 2) \times 2^m - n + 1]这里去除了全为黑或白的边。
  • 当S < X时

    • 贡献值由第二种操作决定,具体计算公式为:[2 \times (2^{eq} - 1) \times 2^{up}]
  • ARC095-F - Permutation Tree

    这个问题需要分析构造的树的性质。通过从小到大枚举数的方法,每个数i的位置记为mx。每个i首先与当前最右的点mx连边,然后与i所在位置取最大值max。这种方法构造的是一个链状结构,每个点在链上挂有一些子点。

    构造的树实际上是一条链,链上每个点挂有若干点。通过分析链上的点数量cnt[i],可以发现树的构造方法是从小到大依次挂点,且每次挂的位置是当前最大点的右侧。这样构造出的树的特点是链状结构,且每个点的编号按照字典序递增。

    当枚举到链上的第lst个点时,需要为每个点分配编号。分配方式是将当前最右的点mx与i连边,然后将mx与i的位置取最大值max作为新的最右点。这样可以确保树的构造是字典序最小的。

    ARC095-E - Symmetric Grid

    这个问题需要考虑行和列的匹配。通过枚举行的匹配行和列的匹配列,可以利用列的逆序来判断是否满足条件。具体来说,枚举每行的匹配行与每列的匹配列,判断某列的逆序是否与另一列同构。

    通过对行和列的匹配方式进行分析,可以发现状态数较少,从而简化问题。通过枚举行的匹配行和列的匹配列,可以快速判断是否满足条件。

    ARC096-F - Sweet Alchemy

    这个问题需要考虑每个物品的选择次数。每个物品有不同的选择次数,且每次选择会增加一棵子树。通过分析物品的选择次数,可以发现以1为根的子树可以无限选,而其他子树只能选有限次数。

    通过贪心算法,可以选择每个物品取min(n, D)个,剩余的用贪心贡献。贪心策略的核心是每次选择贡献值最大的物品,这样可以确保最终结果的优化。

    ARC096-E - Everything on It

    这个问题需要使用容斥原理来计算非法选择的方案数。通过设f[i]为至少有i个非法选择的方案数,可以得到一个复杂的求和式。通过对式子的展开和化简,可以发现它实际上是在计算不包含非法选择的方案数。

    通过对式子的展开,可以发现它涉及斯特林数和其他组合数学的概念。最终,通过对式子的化简,可以得到一个与n^3logn相关的复杂度。

    总结

    通过对上述问题的分析,可以发现它们都需要结合不同的数学概念和算法技巧来解决。从MST的构造到树的构造,再到容斥原理的应用,每个问题都需要深入的思考和细致的分析。

    转载地址:http://wrmu.baihongyu.com/

    你可能感兴趣的文章
    POJ 2484 A Funny Game(神题!)
    查看>>
    POJ 2486 树形dp
    查看>>
    POJ 2488:A Knight&#39;s Journey
    查看>>
    SpringBoot为什么易学难精?
    查看>>
    poj 2545 Hamming Problem
    查看>>
    poj 2723
    查看>>
    poj 2763 Housewife Wind
    查看>>
    Qt笔记——模型/视图MVD 文件目录浏览器软件
    查看>>
    POJ 2892 Tunnel Warfare(树状数组+二分)
    查看>>
    poj 2965 The Pilots Brothers' refrigerator-1
    查看>>
    poj 3026( Borg Maze BFS + Prim)
    查看>>
    POJ 3041 - 最大二分匹配
    查看>>
    POJ 3041 Asteroids(二分匹配模板题)
    查看>>
    Qt笔记——标准文件对话框QFileDialog
    查看>>
    poj 3083 Children of the Candy Corn
    查看>>
    POJ 3083 Children of the Candy Corn 解题报告
    查看>>
    POJ 3253 Fence Repair C++ STL multiset 可解 (同51nod 1117 聪明的木匠)
    查看>>
    Qt笔记——控件总结
    查看>>
    poj 3262 Protecting the Flowers 贪心
    查看>>
    poj 3264(简单线段树)
    查看>>