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)\)

Codeforces Round #434 (Div. 2)的更多相关文章

  1. Codeforces Round #434 (Div. 2)【A、B、C、D】

    Codeforces Round #434 (Div. 2) codeforces 858A. k-rounding[水] 题意:已知n和k,求n的最小倍数x,要求x后缀至少有k个0. 题解:答案就是 ...

  2. Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861C Did you mean...【字符串枚举,暴力】

    C. Did you mean... time limit per test:1 second memory limit per test:256 megabytes input:standard i ...

  3. Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861B Which floor?【枚举,暴力】

    B. Which floor? time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  4. Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861A k-rounding【暴力】

    A. k-rounding time limit per test:1 second memory limit per test:256 megabytes input:standard input ...

  5. Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)

    A. k-rounding 题目意思:给两个数n和m,现在让你输出一个数ans,ans是n倍数且末尾要有m个0; 题目思路:我们知道一个数末尾0的个数和其质因数中2的数量和5的数量的最小值有关系,所以 ...

  6. 【模拟】 Codeforces Round #434 (Div. 1, based on Technocup 2018 Elimination Round 1) C. Tests Renumeration

    题意:有一堆数据,某些是样例数据(假设X个),某些是大数据(假设Y个),但这些数据文件的命名非常混乱.要你给它们一个一个地重命名,保证任意时刻没有重名文件的前提之下,使得样例数据命名为1~X,大数据命 ...

  7. 【Codeforces Round #434 (Div. 2) B】Which floor?

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] 枚举每层有多少个公寓就好. 要注意,每次都要从1到100判断,一下那个公寓该不该出现在那一层. 多个答案,如果答案是一样的.也算是唯一的.  ...

  8. 【Codeforces Round #434 (Div. 1) B】Polycarp's phone book

    [链接]h在这里写链接 [题意] 给你n个电话号码. 让你给每一个电话号码选定一个字符串s; 使得这个串s是这个电话号码的子串. 且不是任何一个其他电话号码的子串. s要求最短. [题解] 字典树. ...

  9. 【Codeforces Round #434 (Div. 2) A】k-rounding

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] 转换一下就是求n和10^k的最小公倍数. [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc++ ...

随机推荐

  1. Flume日志收集系统架构详解--转

     2017-09-06 朱洁 大数据和云计算技术 任何一个生产系统在运行过程中都会产生大量的日志,日志往往隐藏了很多有价值的信息.在没有分析方法之前,这些日志存储一段时间后就会被清理.随着技术的发展和 ...

  2. var和let使用上的对比

    var和let比较 1. let没有预解析,不存在变量提升.在代码块中,只要let定义变量,在之前使用,都是报错.先定义完再使用. let a = 12; function fn(){ alert(a ...

  3. 【数据库_Postgresql】数据库主键自增长之加序列和不加序列2种方法

    将表的主键进行序列增加之后可以在数据库层面自动主键id增长 方法如下:先建序列,然后建表关联id主键,然后添加语句,不用考虑id主键 DROP SEQUENCE IF EXISTS "pub ...

  4. Day20-初识Ajax

    想要实现的功能:点击提交以后,让数据发到后台进行验证,但是页面不刷新.悄悄提交用Ajax. 那么返回的字符串怎么样展示到前端HTML页面呢?可以在HTML中写个标签,定义一个选择器. 利用$('#id ...

  5. hdu4554 A Famous Game 概率期望

    题面 题意:n个球,2种颜色,可能有0~n个红球,每种情况的概率相同.现在从箱子里取出了$p$个球,其中有$Q$个是红球,问现在再取一个球是红球的概率为多少? 题解:因为0 ~ n的概率相同,所以每个 ...

  6. IOS中手势UIGestureRecognizer

    通常在对视图进行缩放移动等操作的时候我们可以用UIScrollView,因为它里边自带了这些功能,我们要做的就是告诉UIScrollView的几个相关参数就可以了 但是没有实现旋转的手势即UIRota ...

  7. jetBrains 插件开发第一课-- 在主菜单栏新增一个菜单

    环境搭建完了,接下来可以开始写代码了: 1.新建 plugin 项目 2.编辑 plugin.xml,修改一下里面的插件名那些信息,该文件的配置项可以看这里:plugin.xml 其中比较关键的有一个 ...

  8. Python --Redis Hash操作

    一.Redis Hash操作 Redis 数据库hash数据类型是一个string类型的key和value的映射表,适用于存储对象.Redis 中每个 hash 可以存储 232 - 1 键值对(40 ...

  9. 跟我一起写Makefile(六)

    使用条件判断—————— 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支.条件表达式可以是比较变量的值,或是比较变量和常量的值. 一.示例 下面的例子,判断$(CC)变量是否“gc ...

  10. Web Api返回值

    首先:注明,我还没这么强的功力啦!这是我看的网上的,因为怕博主删除就自己复制了一下 博主的网址是:http://www.cnblogs.com/landeanfen/p/5501487.html 使用 ...