zoukankan      html  css  js  c++  java
  • AtCoder AGC #4 Virtual Participation

    我好懒啊QAQ

    老规矩 从C开始

    C.给一个矩阵,里面有一些紫色方块,你需要涂两个矩阵,一个红色,一个蓝色,保证你涂的颜色四连通

    然后把红色蓝色矩阵叠起来要求紫色的地方必须是紫色,其他地方不能是紫色

    输出方案

    sol:构造题...不想做啊TAT

    想了半天,想到了官方正解左右翻转一下的情况233

    D.

    给你一个环套树和一个k,你可以把一些边拆下来连到根上,使得所有点的深度都不超过k

    问最少拆多少条边

    sol:

    贪心,搜到大于k的直接连

    E.

    给你一个矩形里有一些机器人,有一个出口,走到出口的机器人会出去,走出矩形边界的机器人会死

    现在你可以令所有机器人一起上下左右走一个单位长度,操作次数不限

    问最多可以让多少机器人出去

    sol:

    “运动是相对的”

    我们可以考虑这个出口拖着一个矩形走,然后用$dp_{i,j,k,l}$表示向上下左右分别走了$i,j,k,l$步能搞到的机器人数量

    转移的时候加上能拯救的机器人再减去去世的机器人就可以了

    F.

    给你一个树或者环套树,每个点都是白色

    你每次可以翻转两个相邻同色节点的颜色,求最少多少步把所有点变成黑色

    或者输出无解

    sol:

    这题的树和环套树根本就是骗人的...

    1.为什么要有树呢?因为树是一个二分图

    我们把每个深度为奇数的点想象成一个小球,把深度为偶数的点想象成一个球洞

    我们要把所有球移动到球洞里

    于是我们很显然想到小球 = 1,洞 = -1

    然后答案就是$sum |sig_i|$

    其中$sig_i$表示$i$子树的和

    2.如果多了一个偶环怎么办?

    拆环

  • 相关阅读:
    APIJSON
    pinyin4j 中文转拼音
    JsonPath
    rocket-api
    SpringCloudAlibaba和SpringCloud的区别
    jar分离lib打包
    java8 forEach
    java8 CompletableFuture
    IE浏览器根证书问题
    基于Win服务的标签打印(模板套打)[转]
  • 原文地址:https://www.cnblogs.com/Kong-Ruo/p/9686374.html
Copyright © 2011-2022 走看看