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. BZOJ3875 AHOI2014/JSOI2014骑士游戏(动态规划)

    容易想到设f[i]为杀死i号怪物所消耗的最小体力值,由后继节点更新.然而这显然是有后效性的,正常的dp没法做. 虽然spfa已经死了,但确实还是挺有意思的.只需要用spfa来更新dp值就可以了.dij ...

  2. General Sultan UVA - 11604(建图暴力)

    给出n个字符串,询问是否存在一个字符串(可以是给出的几个中的 也可以是组合成的),使得用字符串(随便你用多少个)来拼凑这个串,能够至少有两种拼法 解析: 把每一个字符串的每一个位置的字符看作结点,进行 ...

  3. CF335F Buy One, Get One Free 贪心

    题意: \(n\)个物品,每个物品有一个价格,买一个高价格的物品,可以选择免费得到一个价格严格低于这个物品的物品.求得到\(n\)个物品的最小代价. 题解: 神仙贪心-- 题目要求求出最小代价,相当于 ...

  4. 【生成树,堆】【CF1095F】 Make It Connected

    Description 给定 \(n\) 个点,每个点有点权,连结两个点花费的代价为两点的点权和.另外有 \(m\) 条特殊边,参数为 \(x,y,z\).意为如果你选择这条边,就可以花费 \(z\) ...

  5. C++堆和栈详解(转)

    一.预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1.栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等.其    操 ...

  6. ajax方式提交文件到后台同时加其他参数

    struts2后台Action方法,直接用参数成员变量对象的属性接收即可

  7. Java--Inheritance constructor继承中的构造方法问题(一)

    Java规定,一个父类可以同时拥有多个子类,但一个子类只能有一个父类,即单重继承,允许多层继承,即子类还可以有自己的子类,在下一层继承关系中原先的子类就变成了父类,这样的继承关系就形成了继承树. 子类 ...

  8. VLFeat在matlab和vs中安装

    转:http://blog.csdn.net/u011718701/article/details/51452011 博主最近用vlfeat库做课题,网上搜索使用方法,一大片都会告诉你说:run(/v ...

  9. windows环境下封装条件wait和signal

    linux 环境有提供好的pthread_cond_wait() 和 phread_signal().pthread_broadcast() windows需要自己封装,利用semophore控制线程 ...

  10. MySQL下创建序列及创建自定义函数方法介绍

    工作过程中需要将基于DB2数据库的应用以及数据迁移到MySQL中去,在原应用中,大量使用了SEQUENCE,考虑尽量减少代码的修改,决定在迁移后的应用中继续保留SEQUENCE的使用,这就要求在MyS ...