• CodeTON Round 1(div1+div2) VP 记录


    晚上要回宿舍睡觉,只能第二天来 VP。

    为什么前四道题都是结论啊

    A. Good Pairs

    显然要让所有的 \(a_k\) 的值在 \(a_i\)\(a_j\) 之间才符合要求,输出最大值和最小值的位置即可。

    B. Subtract Operation

    手模一下发现剩下的哪个数最终减去的是最后一个数,所以直接找一下有没有 \(i,j\) 满足 \(a_i + K = a_j\) 即可。可以枚举一个数另一个 lower_bound

    C. Make Equal With Mod

    会发现很多性质。

    如果 \(0,1\) 同时存在,一定无解。

    如果不存在 \(1\) ,一定有解,构造方法是让 \(x\) 依次等于所有数中最大的那个。

    如果存在 \(1\) 不存在 \(0\),判断一下有没有两个数满足 \(a_i + 1 = a_j\),有的话无解,否则有解

    D. K-good

    首先不难发现,当 \(n\) 是奇数且 \(n \not = 1\) 时,\(k\) 可以为 \(2\)然而这并没有什么用

    因为 \(k\) 个数的余数各不相同,所以要满足

    \[n - \frac{k(k+1)}{2} \equiv 0 \pmod k [\frac{k(k+1)}{2} \le n] \]

    好像也没有什么用,不过能看出来答案 \(k\)\(n\) 的一个因子

    你想起来如果它时奇数可以放一个 \(2\),那如果它是偶数的话,就让 \(k \times 2, n \div 2\) ,知道 \(n\) 为奇数的时候,就回到了一开始的情况。

    但是你发现,有时候 \(k\) 是这个奇数也是可以的。

    所以,设 \(n = 2^ka\),那么答案就是 \(\min(2^{k+1}, a)\)

    为什么取 \(\min\),较小值一定是 \(\le \sqrt n\) 的,带入上面的条件式,得到

    \[\sqrt n \times (\sqrt n + 1) = n + \sqrt n \le 2n \]

    而较大值可能不合法。

  • 相关阅读:
    [转]Dokuwiki使用感受
    [转]认识与入门Markdown
    [转]2015深度学习回顾:ConvNet、Caffe、Torch及其他
    [转]Dokuwiki插件与主题推荐
    [转]okuwiki布署小记
    PHP环境配置
    keydown和keypress
    JavaScript优化参考
    IE兼容性标签和条件注释
    nodejs 简单http 文件上传demo
  • 原文地址:https://www.cnblogs.com/Silymtics/p/VPCF1656.html
Copyright © 2020-2023  润新知