zoukankan      html  css  js  c++  java
  • A♂G&C012

    A♂G&C012


    A AtCoder Group Contest

    从大到小sort后输出(a_2+a_4+a_6+ldots a_{2n})

    好♂啊,只会背结论/kk

    B Splatter Painting

    根据套路从后往前bfs,由于(d)很小可以拆点,点((x,i))表示距离(xleq i)的点都被染得颜色

    C Tautonym Puzzle

    真不会= =只会二进制分组,大概比正解辣鸡多了

    摸题解

    首先你有一个排列(p[1-n]),然后在后面再加一个(1-n),序列数量就是(p)的上升子序列个数

    那么现在有一个空排列,考虑从小到大加数,上升子序列个数怎么变

    1. push_back,个数*2+1
    2. push_front,个数+1

    发现不好搞,如果强至空序列也算上升子序列,那么一开始数量是1,操作变成了

    1. push_back,个数*2
    2. push_front,个数+1

    就很棒了,可以根据二进制位直接从(1)推到(n+1)了(注意是(n+1)

    D Colorful Balls

    这题怎么我都会/kk

    如果两个球可交换就连一条边,显然一个连通块中的球都可以相互换,答案是所有连通块跑可重排列的答案积

    考虑相同颜色的交换,先拿出一种颜色,拿出这种颜色(w)的最小值(min w),那么这种颜色满足(w+min wleq X)的所有球都可以任意交换,所以它们的(w)可以全设为(min w)

    显然只会有最多一个连通块有边,其他都是散点

    然后是不同颜色的交换,先拿出(min w)值最小的颜色(c),和上面同理,其他颜色满足(w+min wleq Y)的所有球都可以任意换,加上这种颜色可以任意换的可以组成一个连通块

    还可以拿一个另一种颜色的和(c)(w)较大的换,这些所有能换的可重排列就是答案

    E Camel and Oases

    显然只有(log)个不同的(V)值,对这些(V)预处理出连通块情况

    然后很妙,要在每层选一个连通块拼出([1,n]),询问多个就是钦定第一层选的区间,可以前缀和+状压,(f_i)表示选了集合(i)的层最多可以拼到的右端点,反过来再来一个

    F Prefix Median

    不是很会证就不写了

    https://www.cnblogs.com/cjyyb/p/10709353.html#f---prefix-median

  • 相关阅读:
    [BZOJ3195] [Jxoi2012]奇怪的道路
    Splay Tree
    区间DP复习
    Link Cut Tree
    [BZOJ2734] [HNOI2012]集合选数
    如何写出杀手级简历(针对程序员) (转)
    30个提高Web程序执行效率的好经验(转)
    Oracle中的SQL跟踪( 转)
    如何终止SQL Server中的用户进程(转)
    Will the real programmers please stand up?(转)
  • 原文地址:https://www.cnblogs.com/xzz_233/p/11724476.html
Copyright © 2011-2022 走看看