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

    Codeforces Round #434 (Div. 2)

    刚好时间对得上,就去打了一场cf,发现自己的代码正确度有待提高。

    A. k-rounding

    题目描述:给定两个整数(n, k),求一个最小整数(x)使得,(x)既是(n)的倍数,也是(10^k)的倍数。

    solution
    首先判断(n)是不是(10^k)的倍数,如果是就可以直接输出了。
    如果不是,就算出(n)有质因子(2)多少个,质因子(5)多少个,如果(2)比较少,那就乘(2),否则乘(5),直到它们的个数相等(或者(n)已经是(10^k)的倍数),如果(n)依然不是(10^k)的倍数,那么就乘(10),直到是(10^k)的倍数为止。
    时间复杂度:(O(k))

    B. Which floor?

    题目描述:有一栋楼,每层有相同数量的房间,房间从一楼开始从1开始编号。给出(m)条信息(一条信息为第几个房间在第几层),问能否确定第(n)个房间在哪一层。

    solution
    (n)比较小,所以可以枚举一层有多少个房间,然后检查一下是否满足那(m)个信息,如果满足,则出现一个答案,最后判断是否有多个答案即可。
    时间复杂度:(O(nm))

    C. Did you mean...

    题目描述:给出一个只由小写字母组成的字符串(st),如果(st)的一个子串满足:
    1、子串长度大于等于3
    2、子串的所有字符都是辅音字母
    3、子串至少有两种不同的字母
    那么这个子串就叫作typo
    现在要在(st)中插入最少的空格使得分开的每一段都没有typo

    solution
    找出从左到右第一个typo,假设该子串为(st(i, j)),那么就在(j)前面插入一个空格,然后从(j)开始继续找第一个typo,重复上述步骤直到结束
    时间复杂度:(O(length(st)))

    D. Polycarp's phone book

    题目描述:给出(n)个九位数,给每一个九位数找一个最短的特征子串,使得该子串不是其它九位数的子串。

    solution
    求出出每个九位数的每个子串在多少个九位数中出现,若只出现了一次,那么这个子串就是特征子串
    时间复杂度:(O(81n))

    E. Tests Renumeration

    还没想到。。。

    F. Wizard's Tour

    题目描述:给出一个没有自环和重边的图,找出尽量多的((x, y, z))三元对,满足(x, y)有边相连,(y, z)有边相连,而且每条边只能属于一个三元对,输出最多的数量以及方案。

    solution
    这题是构造解。
    先随便找一个点做根,然后构成一棵树(当然是有环的),算出每个点的深度,然后从深度大的开始枚举,假设当前点为(i),然后找出(i)所连向的点((j))并且(j)的深度大于等于(i)的深度,而且(i, j)之间的边没有被选过,然后将这些点两两配对,如果还剩下一个而且(i)不是根,那么(i)的父亲,(i),以及剩下的这个点可以组成一个三元对。
    时间复杂度:(O(n))

  • 相关阅读:
    发布SpringBoot项目到Docker容器
    Docker网络
    Docker镜像发布到阿里云
    Docker制作Tomcat镜像
    DockerFile指令
    Docker命令
    kafka安装与使用
    刷题第2天
    刷题第1天
    UVA 11107 Life Forms
  • 原文地址:https://www.cnblogs.com/GerynOhenz/p/7572006.html
Copyright © 2011-2022 走看看