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

    A

    位数和为(4)的倍数,涉及到进位,直接把最近的(30)个判断一下就好了

    B

    最大的可能的为:最小值(+k),如果最大值能(≤)该值则成立,否则输出(-1)

    C

    先全部选(b),看是否能为正,在考虑正的这部分去选(a),就等于补掉多少个(a-b)

    D

    有一个明显的坑点就是不能整体赋值,大部分(t)掉的都是这个原因

    我们统计每种颜色的个数,排好序后单独扔进一个数组,考虑从大到小遍历,每次优先取满足条件的最大值

    具体实现就是拿一个指针记录能选的最大值,如果遍历到的值刚好为指针则选择,指针左移;如果大于指针,也选指针;如果小于的话,选该值,将指针赋为该值(-1)

    E/H

    (lst_i)表示该字符上一次出现的位置;用(f_{i,j})表示前(i)个字符,长度为(j)的互异的个数

    • (lst_i=0),说明该字符第一次出现,(f_{i,j}=f_{i-1,j}+f_{i-1,j-1},++f_{i,1})

    • (lst_i≠1),说明前面出现过该字符了,我们得考虑容斥,显然(lst_i)前面与其组成子序列的前缀也能与(i)组成相同的子序列,(f_{i,j}=f_{i-1,j}+f_{i-1,j-1}-f_{lst_i-1,j-1})

    (f)数组成指数级增长,而(k)有限,故限制(f)不超过(k)

    每次优先选取最长的子序列,直接统计答案就好了

    F

    最难的题,用贪心,每次选取最大值,然后除掉因子去选

    但我们发现能构造出(hack)的数据,比如(6,10,15,30),这是因为(frac{1}{5}+frac{1}{3}+frac{1}{2}>1),特判一下这种情况就好了

    G

  • 相关阅读:
    STL中的map
    HDU 4027 Can you answer these queries?
    HDU 2199 Can you solve this equation?
    USACO section1.2 Name That Number 命名那个数字
    HDU 3790 最短路径问题 (双重权值)
    [笔记]CiscoPT配置RIP
    [笔记]Cisco PT VLANTrunk配置
    iptables感悟Ubuntu
    CentOS网络配置
    Discuz X2 数据库备份功能分析
  • 原文地址:https://www.cnblogs.com/y2823774827y/p/11094831.html
Copyright © 2011-2022 走看看