zoukankan      html  css  js  c++  java
  • A@[G!C]%008

    A@[G!C]%008


    A Simple Calculator

    细节题。

    B Contiguous Repainting

    最后只要有连续(K)个鸽子同色就可以构造方案,枚举+前缀和

    C Tetromino Tiling

    分析一波发现T,Z,S不可能出现,O可以直接加到最后面,剩下的拼法可以简化成JJ,II,LL,JIL,分类讨论一下。

    D K-th K

    直接贪心加

    E Next or Nextnext

    毒瘤神仙题

    排列(p)会连成一些环,(a)是一个鸡环内向森林,考虑一个环怎么变化

    变化的方式是每个点(i)可以将边((i,p_i))变成((i,p_{p_i}))

    • 如果(a)是一个环,那么就是每个点的出边都变了或者都没变

      • 如果(p)是个奇环,那么(a)有两种方式(直接看题解的图)
      • 如果(p)是个偶环,那么(a)也有两种方式,要么不变要么拆成两个环长相等的环(直接看题解的图)

    那么这个可以dp求出环的情况数

    • 如果(a)是个鸡环内向树,首先环上一个点最多接一条链,然后考虑相邻的两条链,如果满足一定大小关系就给答案×2(直接看题解)

    https://agc008.contest.atcoder.jp/editorial

    F Black Radius

    这个题太仙了= =(yyb:然而我也不太会

    部分分做法。。。现在所有点都可以是黑色

    (f(x,d))为距离(x)不超过(d)的点集。这里钦定全集不计入答案,那么设(max_i)表示每个点的最远点距离,(d_i<max_i)

    但是肯定会有记重,比如两个点(x,y),有(f(x,d_x)=f(y,d_y))。容易证明如果有相邻的(x,y)(f(x,d_x)=f(y,d_y))那么(|d_x-d_y|=1)(考虑一定存在一条边连接着一个被染黑和未染黑的点,走过去的步数差)

    而且可能选了一个(f(x,d_x))后,有一个连通块,在这个连通块里选一个(y)都能找到(f(y,d_y)=f(x,d_x))(我也不知道为啥就是连通块)

    而且连通块中一定可以找到唯一一个(d)最小的点,如果有两个,考虑一定存在一条边连接着一个被染黑和未染黑的点,讨论未染黑的点的位置,发现都不可能= =

    于是就可以对每个(f(x,d_x))相同的连通块,只在(d)最小的那个点记录,就可以不重不漏计数了。

    具体的,记录(f(x,d))时,如果有一个相邻的(y)满足(f(x,d)=f(y,d-1)),就不记录。

    考虑对于(x)(d)要满足什么东西,首先(d<max_x),然后如果(x)设为树根,不存在儿子(y)满足不记录的条件。

    首先(y)子树内的,(f(x,d))该记到的(f(y,d-1))都能记到,这个是一样的。其他子树中,因为从(y)出发过去会少记两层,所以其他子树中只要有一个满足(f(y,d-1))没记完整个子树,这个(y)就不行。如果对(x)选尽量能淘汰(x)(y)肯定选最长的链,设(sec_i)表示每个点设为根,所有儿子中(max_{son})的次大值+1。要满足的是(d<sec_x+2)(再大就占满所有其他子树了)

    然后一次换根dp就做完了部分分= =

    考虑(d)的下界,如果一个点不能被染黑,它能计算的(d)下界是啥。

    还是(x)作为根,只要(d)染黑了一整个儿子的子树,而且这个儿子中有能染黑的点就可以。

    然而我也不太懂(抄题解)


    https://agc008.contest.atcoder.jp/submissions/me?task_screen_name=&language_screen_name=&status=AC

  • 相关阅读:
    Dubbo源码分析之ExtensionLoader加载过程解析
    大型网站系统与java中间件实践-阅读笔记
    多线程编程-设计模式之保护性暂挂(Guarded Suspesion)模式
    多线程编程-设计模式之不可变对象模式
    Spring技术内幕阅读笔记(一)
    mysql存储过程语法及实例
    Spring-boot官方案例分析之data-jpa
    Spring-boot官方案例分析之log4j
    Spring Boot应用的测试——Mockito
    linux系统安装redis
  • 原文地址:https://www.cnblogs.com/xzz_233/p/11696678.html
Copyright © 2011-2022 走看看