zoukankan      html  css  js  c++  java
  • Codeforces Round #618 (Div. 2)

    Codeforces Round #618 (Div. 2)

    这一场偏简单,我终于可以补完题了

    代码就不放了。

    比赛链接

    CF1300A Non-zero

    题目大意:给你 (n) 个数,每次可以对任意一个数 (+1),求最少需要多少次操作使得最后所有数的和与积均不为 (0)

    将所有 (0) 全部加 (1) 后判断和是否为零即可。


    CF1300B Assigning to Classes

    题目大意:给你 (2n) 个数,将它们分成两组,且每组必须有奇数个,使得分组后两组的中位数之差最小,并输出差值。

    首先将数列排序。

    考虑让每个数作为其中一组的中位数,容易发现若要使差值最小,则中位数两边的数一定可以在两组中随意调换而不影响中位数(反证法易得)。所以我们枚举每个数,使其单独成组,另一组直接求得即可。

    由此可以推出最终答案即为 (a_{n+1}-a_{n})

    时间复杂度为 (O(nlog_2n)),即排序复杂度。


    CF1299A Assigning to Classes

    div1A自闭日常。。。

    题目大意:定义函数 (f(x,y)=(x|y)-y),给定数列 ({a_n}),决定每个数的位置,使得 (f(f(a_1,a_2),a_3)...a_n)) 的值最大。

    首先可以比较轻松的得到 (f(x,y)=x&(sim y))

    那么我们可以将最后的答案写成 (a_1&(sim a_2)&(sim a_3)&...&(sim a_n))。那么我们发现,最终答案只与(a_1)有关。

    所以我们可以枚举每个数作为 (a_1),记录取反后前缀或、后缀或,就可以在 (O(n)) 的时间复杂度内解决问题。


    CF1299B Aerodynamic

    大型猜结论现场

    题目大意:给定一个凸多边形,判断其所有平移后点 ((0,0)) 在其内部的所有图形的并是否与原图形相似。

    有偶数点的中心对称的凸多边形满足条件。感性证明选手

    通过向量可以在不丢失精度的情况下判断。


    CF1299C Water Balance

    题目大意:给定一个数列 (a_n),每次你可以将一段区间赋值为其区间内数的平均数,使得最后 (a_n) 是一个递增序列,且字典序最小。

    现在看来真的很裸,从前往后加入,直接使用单调栈维护即可。

    (比赛时咋没想出来呢)

    记得用 ( exttt{printf})。(血与泪的教训)

  • 相关阅读:
    classpath:和classpath*:的区别
    Java 类装载器工作机制
    Spring 注解配置 WebApplicationContext
    IDEA Cannot access alimaven (http://maven.aliyun.com/nexus/content/groups/public/)
    Mybatis #和$区别
    重排链表
    判断环形链表并给出入环口的节点位置
    环行链表
    复制带随机指针的链表
    有序链表转换二叉搜索树
  • 原文地址:https://www.cnblogs.com/HenryHuang-Never-Settle/p/CF618_div2.html
Copyright © 2011-2022 走看看