![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
暴力求解 - 基础
buxizhizhou530
这个作者很懒,什么都没留下…
展开
-
UVa 10167 生日蛋糕
题意:有一个半径为100的圆形蛋糕,蛋糕上有一些樱桃。现在妈妈要把蛋糕分两半,因为要均分给两人,所以肯定是从原点切出来的。然后还需要两半蛋糕各含一半数目的樱桃,而且所切的地方不会切到樱桃。求所切下的这条直线的方程,Ax+By=0 中的 A 和 B 的值。cherry 樱桃;beeline 直线;coordinate 坐标思路:可以看到大体的思路就是找到一条直线,使得所有樱桃的坐标满足 Ax原创 2015-02-06 23:48:31 · 831 阅读 · 0 评论 -
UVa 11205 损坏的步数计
题意:有一组编码,用其中最少的位数来区分这些编码。思路:相当于枚举一个集合的所有子集,然后选择符合要求的势最小的集合。 子集生成有三种方法,但每一种子集的生成都没有明显的规律,至少不是从1个元素、2个元素到n个元素这样的顺序生成的,所以还是要枚举出所有的子集才行。这里用的增量构造法来枚举子集。Code:#includevoid print_subset(i原创 2015-02-26 12:56:59 · 1022 阅读 · 1 评论 -
UVa 131 有超能力的纸牌玩家
题意:题目描述太简单了,简直需要猜题目。看别人的题解也知道题目意思。大致意思是,手里五张牌,可以弃0~5张,然后从牌堆的5张中拿最上面的同等数量纸牌,使得value最大。value的评价真的是要猜。。。依次为:straight-flush 同花顺four-of-a-kind 炸弹full-house 满堂红 三张同点牌加上一对 flush 同花straight原创 2015-02-26 18:58:27 · 941 阅读 · 0 评论 -
UVa 146 ID码
题意:输出一个排列的后继排列,如果是最大的降序排列,则输出没有后继。思路:调用STL中的next_permutation()函数即可。不过这个函数在求后继时是一个循环状态,即全升序是全降序的后继,循环回来了。所以在调用之前判断一下是否为全降序序列即可。 感觉用这个函数没什么技术含量,有时间用纯C写一个。Code:#include#include#includeusi原创 2015-02-27 13:05:42 · 846 阅读 · 0 评论 -
UVa 10098 快速生成有序排列
题意:对输入的字符串,按字典序升序输出所有种排列。思路:这个基础就是之前将到的枚举排列问题,只不过当时是整型,这里是字符型。注意:一个是输出的时候每组数组后都要输出一个空行(虽然你去复制sample out会发现最后一组数据没空行,但程序里的确是包括最后一组数据后都有空行)第二是因为这里是字符型,输出的时候直接按字符串输出即可,但是需要在排列数组的最末位加'\0'!还有,在最开始需要对原创 2015-02-27 13:10:51 · 773 阅读 · 0 评论 -
UVa 110 没有循环的排序程序
题意:构造Pascal的排序程序。初看是写Pascal程序,不了解的以为会很难,但其实程序的大部分是固定的,直接printf就可以,主要在于写比较的if-else部分。思路:看sample out可以大概知道程序的构成,其他部分直接输出,主要写比较的部分。比较的时候,可以看成两个集合,A是已排好序的,S是全集,cur是从左到右扫描S的当前位置。用递归写的,前半部分是当当前位置cur到达n时,即原创 2015-02-28 13:17:39 · 830 阅读 · 0 评论 -
UVa 729 Hamming距离问题
题意:给定字符串的长度,以及汉明距离,求所有和全0字符串汉明距离为给定值的等长字符串,升序输出。思路:长度n,汉明距离h,相当于n-h个0和h个1的序列,进行枚举全排列。感觉这几题都是排列和子集相关的枚举额,推荐的题目没有其他的枚举或暴力求解的吗?感觉不是很好额~Code:#include#includevoid print_permutation(int n,int *P,原创 2015-02-27 14:34:14 · 804 阅读 · 0 评论