UVa 1585 Score 【字符串】【模拟】【基础】
题目大意:
给定一个由O和X组成的字符串,每个O都有一定的分数,是目前连续出现的O的个数,问这个字符串的得分是多少。
解题思路:
直接做。
Mycode:
1 |
|
UVa 1586 Molar mass【字符串】【模拟】【基础】
题目大意:
给出一个物质的分子式,求分子量。
解题思路:
直接做。
Mycode:
1 |
|
UVa 1225 Digit Counting【模拟】【基础】
题目大意:
将前n个数字顺次写到一起,问1 ~ 9 各出现多少次。
解题思路:
直接做。
Mycode:
1 |
|
UVa 455 Periodic Strings【字符串】【模拟】【基础】
题目大意:
如果一个字符串可以通过某个长度为k的字符串多次重复得到,那么称该串以k为周期。给一个字符串,问其最小周期是多少。
解题思路:
直接做。枚举答案。
Mycode:
1 |
|
UVa 227 Puzzle【字符串】【模拟】【基础】
题目大意:
根据指令完成对应操作。注意字符的读入。
解题思路:
直接做。
Mycode:
1 |
|
UVa 232 Crossword Answers【模拟】
题目大意:
将格子里的单词按照要求的顺序输出。
解题思路:
算是“预处理”吧,把每个单词的起始位置标记出来,然后再确定是横向还是纵向。我用map先存下单词再输出,其实可以直接输出的。
Mycode:
1 |
|
UVa 1368 DNA Consensus String【模拟】【构造】
题目大意:
给出n个长度为m的DNA序列,要你构造出一个和他们之间Hamming距离最小的一个DNA序列,如果存在多解,输出字典序最小的那个。
解题思路:
直接砍每个位置上哪个字母出现次数最多,出现次数相等时选字典序小的那个作为解。
Mycode:
1 |
|
UVa 202 Repeating Decimals【模拟】【高精度】
题目大意:
将分数化为小数,并且输出循环的长度。
解题思路:
类似高精度,用数组不断记录就可以。
Mycode:
1 |
|
UVa 10340 All in All【模拟】【基础】
题目大意:
两个字符串s1和s2,问能否从s2中删掉若干字符得到s1。
解题思路:
直接做。
Mycode:
1 |
|
UVa 1587 Box【模拟】【基础】
题目大意:
给出6个矩形的长和宽,问能否构成一个矩形。
解题思路:
排序后直接判断就行。
Mycode:
1 |
|
UVa 1588 Kickdown【模拟】
题目大意:
将两个长度分别为n1,n2且列高只为1或2的长条放入一个高度为3的容器中,问能容纳它们的最短容器长度。
解题思路:
n1、n2长度不超过100,直接做。
这里要注意,不一定是短的连接在后面,也有可能是长的和短的去匹配,看代码最后的样例。
Mycode:
1 |
|
UVa 11809 Floating-Point Numbers【数学】
题目大意:
给你一个浮点数$A \times 10^B$,问当用阶码-尾数的形式表示出来时需要阶码、尾数各多少位。
解题思路:
题目意思就是说,当$A \times 10^B == tm \times 2^{te}$时,$M$和$E$的取值。
其中$tm$为小数部分取$M$个1时表示的最大值,即$1 - \frac{1}{2^{M+1}}$。
$te$为尾数取$E$个1时的最大值,即$2^E-1$。
直接求解,数值太大无法求。
常见的大数转为小数的方法就是取对数,对等式两边进行取对数,得:
$log_{10}A + B == log_{10}tm + log_{10}2 \times te$。
为方便表示,令等式右边的值为$tem$。
因为$0<A<10$ && $B$为整数,所以$B == \lfloor tem \rfloor$,$A == \lfloor tem \rfloor - tem$。还有我们观察到$0 \leq M \leq 9$,$1 \leq E \leq 30$,所以可以预处理出所有答案最后直接查询即可。
最后别忘了浮点数判断相等只要他们大小在某个误差范围内相等就可以。
Mycode:
1 |
|