UVA-1368 DNA Consensus String (贪心)
摘要:这种线性最值问题一般不是贪心就是动归 应该是道贪心题,因为每一列的值与其他列没有什么关系(这是判断贪心问题的根本大法),对于每一列找出使其Hamming距离最小的值即可,由于此题只要值相同就是0,值不同就是1,没有远近之分,所以每一个值都是原来出现次数最多的值。 一定注意出现多解的时候如何选择!!!
阅读全文
posted @
2020-10-22 19:42
珍珠鸟
阅读(196)
推荐(0) 编辑
UVA-202 Repeating Decimals(模拟)
摘要:首先可以确定,一个分数,是肯定能化成循环小数的。 这里把小数所有位数枚举出来显然不可行,因为并不知道这小数到底有多少位,所以不能将其枚举再找周期; 我们想一想,如果是手算,遇到循环节的时候一定是出现了前面出现过的余数,所以可以通过这种方式找循环节。 ↑有时候纯暴力无法解决的模拟题想想如果是人自己该怎
阅读全文
posted @
2020-10-21 20:42
珍珠鸟
阅读(108)
推荐(0) 编辑
UVA-1588 kickdown(模拟)
摘要:此道模拟题各个阶段倒是划分的很清楚,但是少了种情况 所以模拟题还需要把情况都弄清楚 此题总共三种情况 一种是s1从s2前面撑出来 一种是s1和s2包在一起 一种是s1从s2后面撑出来 1 #include "bits/stdc++.h" 2 using namespace std; 3 const
阅读全文
posted @
2020-10-21 11:28
珍珠鸟
阅读(143)
推荐(0) 编辑
UVA-1586 Molar mass(模拟)
摘要:我们知道,对于一道模拟题,需要用计算机来解决,说明其中有操作相同的组成部分,我们称之为阶段。我们人工对每一个阶段给定操作进行处理,然后让计算机对不同阶段进行枚举或者说循环。遇到这种题的时候一定要分清阶段是什么,阶段里的内容和操作是什么,一定一定不要混淆相邻阶段之间的操作!!!对于此题来说,每一阶段就
阅读全文
posted @
2020-10-18 15:14
珍珠鸟
阅读(120)
推荐(0) 编辑
UVA-1584 Circular Sequence(环形字典序比较)
摘要:看到环形,首先想到乘两倍拆成线性; 对于这种固定长度的子串比较,对每一个子串,可以考虑通过第一个字符的位置进行标记。 还有UVA竟然禁止用gets,所以此题只能用fgets,记住fgets会把行末回车读进来,所以算长度的时候应该-1; 1 #include "bits/stdc++.h" 2 usi
阅读全文
posted @
2020-10-18 11:24
珍珠鸟
阅读(123)
推荐(0) 编辑
UVA-1583 Digit Generator(线性模拟)
摘要:一拿到这个题,先想到的模拟就是对于每一个数都n从1到n枚举一遍然后去找,很显然这是铁TLE的。 我很会发现,这种算法,一个数会被操作很多遍(当遇到很多比它大的数的时候),而这个很多遍的重复会导致TLE。所以我们想着这些很多遍的操作如何能化简到1次。 一般按照题目思路,我们会对每一个n求他的合适的m,
阅读全文
posted @
2020-10-18 01:17
珍珠鸟
阅读(105)
推荐(0) 编辑
UVA10082 WERTYU(字符串处理,常数数组)
摘要:个人第一想法是对于每一个输入的字符都用if进行处理,很显然操作巨复杂 所以选择开一个常量数组对于每一个读入的字符,直接输出它的前一个就行了 对于这种有一一对应关系的问题,可以考虑用常量数组解决。 此题一定注意除了键盘上可见的一些字符,还有空格tab等 1 #include "bits/stdc++.
阅读全文
posted @
2020-10-17 23:40
珍珠鸟
阅读(153)
推荐(0) 编辑
UESTC-4 Build Houses (贪心+差分)
摘要:Bear has a large, empty ground for him to build a home. He decides to build a row of houses, one after another, say nn in total. The houses are design
阅读全文
posted @
2020-10-04 22:36
珍珠鸟
阅读(232)
推荐(0) 编辑