zoukankan      html  css  js  c++  java
  • Codeforces Round #629 (Div. 3)

    Codeforces Round #629 (Div. 3)

    这场小错好多啊,自闭了。

    (A. Divisibility Problem)

    答案显然是 (b-a\%b) 。特别的,如果算出来是 (b) ,输出 (0)

    code

    (B. K-th Beautiful String)

    考虑从后往前枚举前一个 (b) 的位置即可。

    code

    (C. Ternary XOR)

    从前往后看,第一个 (1) 之前,平分到 (a,b) 里面。

    第一个 (1) 分给 (a) ,剩余部分分给 (b)

    code

    (D. Carousel)

    分类讨论。

    (n) 是偶数

    我们 (1,2) 交替填,一定不会有不合法的情况。

    (n) 是奇数

    分两种情况。

    1. 存在两个相邻的相同,那么,这两个都填 (1) ,剩余的 (1,2) 交替。
    2. 选一个填 (3) ,剩余的 (1,2) 交替。

    code

    (E. Tree Queries)

    显然,若存在一条路径满足条件, 我们一定可以把终点放在该询问中深度最大的点上。

    找出深度最大的点 (v) ,然后我们只需要对剩下的点 (u_i)(v)(lca) ,判断 (dis(u_i,lca)leq 1) 即可。

    code

    (F. Make k Equal)

    考虑枚举最终得到的值 (val) 。显然 (val) 一定在数组中出现过。

    注意到每次只能改最大最小,所以我们一定是把所有小于 (val) 的先改到 (val-1) ,所有大于 (val) 的改到 (val+1) ,然后再进行接下来的动作。

    设数组中 (val) 的个数为 (num) ,调整小于 (val) 的数需要 (cost1) 步,调整大于 (val) 的数需要 (cost2) 步。

    (numgeq k) ,那么答案等于 (0)

    若小于 (val) 的数不少于 (k-num) ,答案为 (cost1+k-num)

    若大于 (val) 的数不少于 (k-num) ,答案为 (cost2+k-num)

    若两边都不够,答案为 (cost1+cost2+k-num)

    对所有的答案取一个 (min) 就是最后的答案。

    code

  • 相关阅读:
    layui动态修改select的选中项
    layui 鼠标悬停单元格显示全部
    使用LayUI操作数据表格
    layer.msg 弹出不同的效果的样式
    layer父页面刷新
    layui 获取radio单选框选中的值
    使用Dapper.Contrib
    微信公众号的文章爬取有三种方式
    centos的 各种安装包下载位置
    git pull一直弹出vim编辑器
  • 原文地址:https://www.cnblogs.com/TheShadow/p/12579929.html
Copyright © 2011-2022 走看看