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

    Codeforces Round #620 (Div. 2)题解

    前言

    (WhiteCmile)带飞了.(

    A. Two Rabbits

    题意

    你现在有两只兔子,一个在(x),一个在(y),一个一次能跳(a),另一个一次能跳(b),只能往另一只兔子的原位置的方向跳.问这两只兔子能否相遇.

    Solution

    直接判断(|x-y|)能否被(a+b)整除即可.

    Code

    A

    B. Longest Palindrome

    题意

    你现在有(n)个长度为(m)的串,你可以选择删除其中的一些串,然后将剩下的串任意组合在一起,使得它是回文串.求最长的回文串的长度.

    Solution

    直接(n^2)的求出每一个串的回文串,然后匹配即可.
    注意到每一个串有且仅有一种本质的回文串,所以随便匹配即可,注意特判一个串回文的情况.

    Code

    B

    C. Air Conditioner

    题意

    你现在有一个初始数字(x),你在一个单位时间内可以给(x o x-1,x o x, x o x+1).存在一些时间点((t,l,r)),要求满足当时间为(t)的时候有(x in [l,r]).
    试求是否存在一种方案使得所有条件都满足.

    Solution

    考虑直接将能够到达的区间用([L,R])表示,然后直接判断是否存在交之后取交即可.

    Code

    C

    D. Shortest and Longest LIS

    题意

    要求你构造出两个排列,满足给定的不等式关系,第一个要求(LIS)最短,第二个要求(LIS)最长.

    Solution

    考虑(<)可以连出一个(top)关系图,考虑最长显然就是从前往后把所以的点拓扑排序,最短的就是从后往前(topsort).
    然后这样子输出即可.

    Code

    D

    E. 1-Trees and Queries

    题意

    给你一棵树,每一次询问((a,b,x,y,k))表示新加一条双向边((x,y)),问从(a)走到(b)是否存在一种恰好走(k)条路的方法.可以重复经过一条边和一个点.

    Solution

    比较简单的题目,我觉得作为一场(Div1)(B)题来说过水.
    直接判断长度和奇偶性即可.
    分三种情况:

    1. 直接走.
    2. 用这条((x,y))边.
    3. ((x,y))这个环.

    然后直接随便求一下距离即可.

    Code

    E

    F. Animal Observation

    两道题目放一起了.

    题意

    给你一个(n*m)的矩阵,你在每一行可以选择一个(2*k)的矩形覆盖(i)(i+1)行,特殊的是,当(i=n)时只覆盖第(n)行的.
    要求被覆盖的点的和的最大值.

    Solution

    首先想一个最暴力的(dp),设(f_{i,j})表示现在(dp)到了第(i)行,这一行选择的是(j)这个位置作为开始覆盖的位置.
    与它不相交的直接前缀后缀和做,相交的考虑(2*k)的暴力枚举即可.

    考虑直接用线段树维护这个相交,很容易可以得到一种(nmlog(m))的做法,边做边改即可.

    进一步优化复杂度,考虑不相交的部分还是直接前缀后缀和计算,相交的部分拆成两个前缀和的形式,用单调队列维护即可.

    Code

    F1
    F2(nmlog(m)
    对不起,(nm)的做法鸽了.

  • 相关阅读:
    谈对信息增益与决策树的理解
    k近邻法
    感知机相关难点细解
    点到空间中面的距离
    统计学习方法中的标注问题
    Hoeffding不等式与泛化误差上界
    经验风险与期望风险
    先验概率与后验概率
    spring和springboot常用注解总结
    多环境下读取不同的配置文件
  • 原文地址:https://www.cnblogs.com/fexuile/p/12318919.html
Copyright © 2011-2022 走看看