UVA题解三

UVA 127

题目描述:\(52\)张扑克牌排成一列,如果一张牌的花色或者数字与左边第一列的最上面的牌相同,则将这张牌移到左边第一列的最上面,如果一张牌的花色或者数字与左边第三列的最上面的牌相同,则将这张牌移到左边第三列的最上面。只有最上面的牌可以移动,如果同时有多张牌可以移动,则先移动最左边的牌,若某张牌可以移到左边第三列的上面,则优先移到左边第三列。若某个时刻某一列为空,则那一列后面的列往前移动。求最后还剩多少列,以及每一列有多少张牌。

solution
直接栈模拟。因为每张牌最多前进\(52\)次,乘上每次查找哪一张牌可以移动,所以时间复杂度是三次方的。
时间复杂度:\(O(n^3)\)

UVA 128

题目描述:输入一个字符串,将每个字符转化为对应的ASCII码的八位二进制数,按顺序串成一个超长的二进制数,现在要在这个超长二进制数后面加上一个十六位的二进制数,使得最终的二进制数能被\(34943\)整除。求出这个十六位二进制,输出对应的十六进制。

solution
将那个超长二进制数对\(34943\)取模,然后\(34943\)与余数的差就是答案,注意\(0\)的情况。
时间复杂度:\(O(字符串长度)\)

UVA 133

题目描述:\(n\)个人围成一圈,顺时针从\(1\)到\(n\)编号,某个面试官从\(1\)开始顺时针数数,数到\(k\)的倍数的人出局,同时另一个面试官从\(n\)开始逆时针数数,数到\(m\)的倍数的人出局。如果数到同一个人,则只有那个人出局。直到最后一个人出局为止。输出每一轮出局的人。

solution
简单模拟,可以用双向链表优化,但数据比较小,可以不优化
时间复杂度:\(O(n^3)\)或\(O(n^2)\)

UVA 136

题目描述:将质因子只有\(2, 3, 5\)的数从小到大排序,第一个数是\(1\),然后才是\(2\),输出第\(1500\)个数

solution
打表。\(20\)秒出结果。

UVA 138

题目描述:若一个数\(n\),存在一个数\(m\),使得\(1\)到\(m\)的和等于\(m\)到\(n\)的和,那么称\(n\)为神奇的数,输出前十个神奇的数以及他们对应的\(m\)。

solution
打表。这里有一个技巧,就是n不断递增的同时,m也是递增的,所以可以双指针移动。2秒出结果。可以直接交这个程序,不打表。

UVA 143

题目描述:平面上给出一个三角形,问三角形里有多少个点。

solution
因为数据比较小,所以可以枚举点,然后判断点是否在三角形内,可以用等面积法,也可以用射线法。也可以进行优化,只枚举\(x\)坐标,然后算出\(y\)的范围。要注意的是这个三角形可能会退化为一条直线,所以枚举的点只能在三角形的特征矩形(能围住三角形内所有点的,边平行于坐标轴的最小矩形)里。
时间复杂度:\(O(询问次数*坐标范围)\)

UVA 146

题目描述:规定了每个小写字母出现的次数,可以生成很多个字符串,将这些字符串按字典序排序,先给出一个字符串,问这个字符串的后继,若无,则输出No
Successor

solution
用笔模拟一些构造的过程,容易得出结论:从右往左找到第一个比右边字母要小的位置,然后在它的右边找到比它大的最小的字母替换它,最后将该位置右边的字母从小到大排序,得到的字符串就是后继。若找不到这个位置,则无解。
时间复杂度:\(O(26*字符串长度)\)

UVA 147

题目描述:给出一种货币的所有面值(\(m\)种),给出一个数(\(n\)),用这种货币来表示这个数,输出方案数。

solution
完全背包。
时间复杂度:\(O(nm)\)

UVA 151

题目描述:有\(n\)座城市,求一个最小的\(m\),使得从\(1\)开始数,然后往后数\(m\),循环数,最后一个数的数是\(13\)。

solution
穷举\(m\),模拟,类似于UVA 133,如果最后一个数是\(13\),则输出。
时间复杂度:\(O(m^2n^2)\)或\(O(m^2n)\)

UVA 156

题目描述:给出\(n\)个单词,找出哪些单词不能由其它单词重新排列得到。

solution
先记录每个单词的每个字母出现次数,两两枚举,若两个单词的每个字母的出现次数都相同,则这两个单词可以通过重新排列得到。
时间复杂度:\(O(26n^2)\)

UVA题解三的更多相关文章

  1. UVA题解二

    UVA题解二 UVA 110 题目描述:输出一个Pascal程序,该程序能读入不多于\(8\)个数,并输出从小到大排好序后的数.注意:该程序只能用读入语句,输出语句,if语句. solution 模仿 ...

  2. URAL题解三

    URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆 ...

  3. UVA题解一

    UVA 100 题目描述:经典3n+1问题在\(n \leq 10^6\)已经证明是可行的,现在记\(f[n]\)为从\(n\)开始需要多少步才能到\(1\),给出\(L, R\),问\(f[L], ...

  4. UVA 10534 三 Wavio Sequence

    Wavio Sequence Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Sta ...

  5. Codeforces 1215D Ticket Game 题解

    Codeforces 1215D Ticket Game 原题 题目 Monocarp and Bicarp live in Berland, where every bus ticket consi ...

  6. 【线段树】Bzoj1798 [AHOI2009] 维护序列

    Description 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2 ...

  7. WC2019 题目集

    最近写的一些 WC2019 上讲的一些题.还是怕忘了,写点东西记录一下. LOJ2983 「WC2019」数树 题意 本题包含三个问题: 问题 0:已知两棵 \(n\) 个节点的树的形态(两棵树的节点 ...

  8. BZOJ4543 Hotel加强版

    题面 $\text{BZOJ}$间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的$\text{LCA}$ 所以如果存在一个点,使得另外两个点在它子树中,距离为$d$,且$ ...

  9. HDU 4514 湫湫系列故事——设计风景线 树的直径

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4514 湫湫系列故事--设计风景线 Time Limit: 5000/2000 MS (Java/Ot ...

随机推荐

  1. VS中碰到的问题

    1.调试的时候,语句已经注释掉了,但是在执行的时候还是运行了(或者某些变量值改变后,程序依然用的之前数据). 右键解决方案-->清理,然后重新生成.

  2. [五]SpringBoot 之 连接数据库(JPA-Hibernate)

    在具体介绍之前,先了解下什么是JPA JPA全称JavaPersistence API.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. http: ...

  3. Codeforces Round#514 Div.2 翻车记

    A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...

  4. unity3d模型不接受光照

    9楼 发表于 2015-4-21 16:34 | 只看该作者 sailo 发表于 2015-4-14 11:15 你好.遇到同样问题,请问要什么解决 1.你可以选择你不受光线照射的模型,模型属性lay ...

  5. Classical Binary Search

    Find any position of a target number in a sorted array. Return -1 if target does not exist. 与题目 Firs ...

  6. Mac连接HDMI后没有声音

    Mac连接HDMI后,会自动切换到HDMI设备进行发声,若HDMI设备没有声音,则不会发声.必须切换回内置扬声器才能有声音,或者拔出HDMI设备. 系统偏好设置 -  声音 - 输出 - 选择内置扬声 ...

  7. PostgreSQL 传统 hash 分区方法和性能

    背景 除了传统的基于trigger和rule的分区,PostgreSQL 10开始已经内置了分区功能(目前仅支持list和range),使用pg_pathman则支持hash分区. 从性能角度,目前最 ...

  8. Codeforces 932.F Escape Through Leaf

    F. Escape Through Leaf time limit per test 3 seconds memory limit per test 256 megabytes input stand ...

  9. mac pro电脑怎么安装rabbitmq

    第一:依次执行以下命令: 1.  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst ...

  10. VS集成opencv编译C++项目遇到的问题

    当我们新建一个c++项目的时候总是提示脚本错误的信息,虽然不影响使用,但是还是很烦躁,对于有强迫症的我来说,实在受不了,终于找到了解决方案 这个提示的路径根据大家自己安装vs的路径来查找: http: ...