• Atcoder AGC003 解题报告


    (A. Wanna go back home)

    简要题意:

    有一个人,在((0,0)),给出每一步这个人走的方向(上下左右),请你确定每次走的长度(不小于一),使得最后能回到((0,0))

    题目解法:

    只要没有出现了“上”,没有“下”之类的情况即可。

    (B. Simplified mahjong)

    简要题意:

    有一组面值为(1 sim N)的牌,已知每种面值的个数。
    卡牌(a,b)可以组成一对((a, b))当且仅当(|a面值 - b面值| le 1)
    问最多能组多少对。

    题目解法:

    显然最后每种牌最多只会剩下一个。
    那么我们先让每一种牌内部配对,如果还剩一张,且下一个面值的有牌,就和下一张配对。
    在进行下一种牌的处理。
    简要说明一下这种做法的正确性:
    我们从最小的牌开始做,如果当前的牌有偶数个,显然内部配对更优。
    如果剩一张,能和后面的配对显然就要配对,因为在当前剩下一张肯定比之后剩下一张要差。

    (C. BBuBBBlesort!)

    简要题意:

    给定一个序列(a),元素两两不同,可以使用两种操作。

    1. 翻转相邻两个元素
    2. 翻转相邻三个元素

    问怎么操作使这个序列变成升序,并使操作一的次数最少,且输出这个最少的次数。

    题目解法:

    我们先离散化,之后就是排列了(以下讨论均在排列的意义下)。
    我们看成第一种操作有一的代价,第二种操作没有代价。
    因为第二种操作没有代价,我们可以用任意次,而其效果就是同奇偶位置任意交换(是不是想到冒泡了?)。
    所以如果这个序列中所有偶数都在偶数位置,奇数都在奇数位置,那么就赢了。
    想到这里,我们发现第一种操作在最优情况,就是将一对奇偶正好相反的两个数奇偶归位。
    那么答案就是所有没有奇偶归位的数的个数除以二(一定整除,想一想为什么)。

    (D. Anticube)

    简要题意:

    给定(N)个数(s_i),要求从中选出最多的数,满足任意两个数之积都不是完全立方数。
    (n le 10^5,s_i le 10^10)

    题目解法:

    能够发现,一个数中如果有一个质因子的次数大于等于3,那么把这个次数对3取模,对答案没有影响。
    那么我们就先处理出每一个数,之后对于一个数(x),假设不能和(x)一起选的数是(y)(显然只有一个),那么对于(y),不能选一起选的一定也是(x)
    我们在处理完这些数字之后,存一下每一种数字的出现次数,之后每一对数字的贡献就是两种数字出现的最大值(特判1)。

    (E. Sequential operations on Sequence)

    简要题意:

    一串数,初始为(1 sim N),现在给(Q)个操作,每次操作把数组长度变为(q_i)​,新增的数为上一个操作后的数组的重复。
    (Q)次操作后(1 sim N)每个数出现了多少次。

    题目解法:

    发现最终有用的操作序列一定一个是以最后一个(q)结尾的,单调上升的序列,这个可以用单调栈处理出来。
    之后假设(q_1 sim q_m) 就是最终的处理出来的询问序列。
    那么每一次操作就是将(A_{i-1})重复(leftlfloor frac{q_i}{q_{i-1}} ight floor)遍,在加上开头一段,得到(A_i)
    那么我们从大到小处理每一个询问,假设处理到第(i)个询问,那么给(A_{i-1})加上一个(leftlfloor frac{q_i}{q_{i-1}} ight floor)倍数,之后会继续处理。
    这个整段整段的重复。
    对于末尾剩下的一小节,我们二分找到第一个比这段长的(A_i),继续处理。
    当递归到最开始的序列的时候,我们就(O(1))的给一个区间的数用差分加上之前积累的倍数那么多次。
    最后扫一遍,就求出答案了。

    $F. $

    简要题意:

    咕咕咕

    题目解法:

    咕咕咕

  • 相关阅读:
    表中表效果
    有关div的位置,隐藏显示和移动
    js 获取服务器控件的值
    JavaScript resizeBy()
    js弹出对话框
    js操作select控件的几种方法发布
    javascript
    POJ2135(最小费用最大流模板)
    吐槽(2012/5/21)
    POJ2391(网络流)
  • 原文地址:https://www.cnblogs.com/tacmon52818/p/12713480.html
Copyright © 2020-2023  润新知