zoukankan      html  css  js  c++  java
  • 题解 Codeforces Round #652 (Div. 2) (CF1369)

    (A)

    (n)(4)的倍数就YES

    (B)

    第一个(1)之前所有的(0)和最后一个(0)之后的所有的(1)都删不掉。中间如果有(10)就合并成(0)即可。

    (C)

    先把前(k)大的拿出来做每组最大值,剩下的按照升序依次往每组里面填充即可。注意开long long。

    (D)

    画一下发现左右两边的子树都是上上次的,中间那个子树是上一次的,然后最顶上那(4)个只有(n%3==0)的时候才会选择,于是(f_i=f_{i-1}+f_{i-2}+(i mod 3==0)),预处理一下。

    (E)

    如果一个人两种菜都吃不到直接判断无解。发现先让只吃得到一盘菜的进去,再让吃了之后菜的种类会尽量变少的人进去是最优的。每次把喜欢吃满足(a_i>=b_i)的菜的人扔到答案序列末尾就行了。

    (F)

    手速慢了点(捂脸)只好赛后补……(今晚先鸽着,明早写

    upd:规则是固定的,(s_i,e_i leq 10^{18}),想到找规律。发现(s*2>e,s+1>e)是必胜状态,然后对于(e)是奇数的如果(s,e)奇偶性不同就必胜,否则必败。递归一下每次(e/2)再计算。

  • 相关阅读:
    linux进阶1
    linux中使用mysql数据库
    计算机是如何启动的
    宿主机mount虚拟机镜像文件
    SHA1算法原理
    KVM初始化过程
    关于内存对齐
    thread_info&内核栈
    gradlew compileDebug --stacktrace -info
    Android listview子控件的的点击事件(转)
  • 原文地址:https://www.cnblogs.com/Kylin-xy/p/tijie-cf1369.html
Copyright © 2011-2022 走看看