UVA题解三
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题解三的更多相关文章
- UVA题解二
UVA题解二 UVA 110 题目描述:输出一个Pascal程序,该程序能读入不多于\(8\)个数,并输出从小到大排好序后的数.注意:该程序只能用读入语句,输出语句,if语句. solution 模仿 ...
- URAL题解三
URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆 ...
- UVA题解一
UVA 100 题目描述:经典3n+1问题在\(n \leq 10^6\)已经证明是可行的,现在记\(f[n]\)为从\(n\)开始需要多少步才能到\(1\),给出\(L, R\),问\(f[L], ...
- UVA 10534 三 Wavio Sequence
Wavio Sequence Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Sta ...
- Codeforces 1215D Ticket Game 题解
Codeforces 1215D Ticket Game 原题 题目 Monocarp and Bicarp live in Berland, where every bus ticket consi ...
- 【线段树】Bzoj1798 [AHOI2009] 维护序列
Description 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2 ...
- WC2019 题目集
最近写的一些 WC2019 上讲的一些题.还是怕忘了,写点东西记录一下. LOJ2983 「WC2019」数树 题意 本题包含三个问题: 问题 0:已知两棵 \(n\) 个节点的树的形态(两棵树的节点 ...
- BZOJ4543 Hotel加强版
题面 $\text{BZOJ}$间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的$\text{LCA}$ 所以如果存在一个点,使得另外两个点在它子树中,距离为$d$,且$ ...
- HDU 4514 湫湫系列故事——设计风景线 树的直径
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4514 湫湫系列故事--设计风景线 Time Limit: 5000/2000 MS (Java/Ot ...
随机推荐
- 批量后台执行fio性能测试脚本
安装ansible工具: )直接yum install -y ansible; )然后更改配置,/etc/ansible/ansible.cfg,将里面的host_key_checking = Fal ...
- 【刷题】LOJ 6041 「雅礼集训 2017 Day7」事情的相似度
题目描述 人的一生不仅要靠自我奋斗,还要考虑到历史的行程. 历史的行程可以抽象成一个 01 串,作为一个年纪比较大的人,你希望从历史的行程中获得一些姿势. 你发现在历史的不同时刻,不断的有相同的事情发 ...
- mysql数据库----视图、触发器、存储过程、函数、事务、索引、其他语句
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...
- redis搭建集群并用TreeSoft管理
前言:redis作为一款高效的NOSQL数据库已经深入贯彻和落实到我们的日常开发代码中,作为缓存.时间控制.数据仓库.队列等使用方法层出不穷,简直是开写代码.居家旅行之必备良药.曾经,我们的项目都是单 ...
- java类加载过程以及双亲委派机制
前言:最近两个月公司实行了996上班制,加上了熬了两个通宵上线,状态很不好,头疼.牙疼,一直没有时间和精力写博客,也害怕在这样的状态下写出来的东西出错.为了不让自己荒废学习的劲头和习惯,今天周日,也打 ...
- 《剑指offer》— JavaScript(4)重建二叉树
重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序 ...
- CDOJ--1404
原题链接:http://acm.uestc.edu.cn/problem.php?pid=1404 分析:定义dp[i][j]表示i位时最左边为j时的情况,那么dp[i][[j]可以由dp[i-1][ ...
- C++编译报错:重复定义
http://note.youdao.com/noteshare?id=cb2bed862a2daae89775603168f297af
- Java面试题:多继承
招聘和面试对开发经理来说是一个无尽头的工作,虽然有时你可以从HR这边获得一些帮助,但是最后还是得由你来拍板,或者就像另一篇文章"Java 面试题:写一个字符串的反转"所说: 面试开 ...
- javascript 实现 A-star 寻路算法
在游戏开发中,又一个很常见的需求,就是让一角色从A点走到B点,而我们期望所走的路是最短的,最容易想到的就是两点之间直线最短,我们可以通过勾股定理来求出两点之间的距离,但这个情况只能用于两点之间没有障碍 ...