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. bzoj1390 [CEOI2008] Fence

    题意 给出n个白点和m个黑点.现在你需要选择一些白点把黑点圈起来.每有一个黑点不能被选出的白点组成的凸包包含就需要付出111的代价,每选出一个白点就需要付出20的代价.要求最小化代价之和 n,m< ...

  2. 洛谷P1352 没有上司的舞会——树形DP

    第一次自己写树形DP的题,发个博客纪念`- 题目来源:P1352 没有上司的舞会 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结 ...

  3. 飞舞的蝴蝶(GraphicsView框架)

    飞舞的蝴蝶(GraphicsView框架) 一.简介 GraphicsView框架结构主要包含三个主要的类QGraphicsScene(容器).QGraphicsView(视图).QGraphicsI ...

  4. NOIP2003 传染病控制 【搜索 + 卡时】

    题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带 ...

  5. redis的简单事务

    Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出multi命令时,这个 ...

  6. Linux内核分析第二周学习博客——完成一个简单的时间片轮转多道程序内核代码

    Linux内核分析第二周学习博客 本周,通过实现一个简单的操作系统内核,我大致了解了操作系统运行的过程. 实验主要步骤如下: 代码分析: void my_process(void) { int i = ...

  7. 【CodeChef】ForbiddenSum

    Portal --> CC ForbiddenSum Solution 场上想到了\(O(NM)\)的做法..然而并没有什么用 首先考虑比较简单的一个问题,给定一个数组\(A\),问这些数不能凑 ...

  8. python基础----数据类型二

    数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

  9. Linux系统之路——如何在CentOS7.2安装MySQL

    一.Mysql 各个版本区别:1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持.2.MySQL Enterprise Edition 企业版本,需付费,可以试 ...

  10. Adreno GPU Profiler工具使用总结

    Adreno Profiler介绍 Adreno Profiler 是高通公司开发的一款针对运行在高通骁龙处理器上用于图形和GPGPU技术应用的性能分析和帧调试工具.工具本质上是一个OpenGL ES ...