自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

九问的烦恼

记录自己的心路历程与技术成长之路。

  • 博客(18)
  • 收藏
  • 关注

原创 [递归]UVA11129 An antiarithmetic permutation

题意:给定一个包含了0到n - 1的序列。。要使得这个序列中每个长度大于2的子序列都不是等差数列。。思路:对于一个等差的序列。如0 1 2 3 4 5 我们可以这样做,把他分离成2部分等差子序列0 2 4和1 3 5然后组合成一个新的序列0 2 4 1 3 5。这样做的话,可以保证前半部分无法和后半部分组合成等差数列。可以证明,一个序列的等差是k,首项为a1,序列为,a1, a1 +k, a1 + 2k, a1 + 3k .... a1 + (n - 1)k.分成的两部分为a1, a1 + 2k , a

2014-03-31 16:24:30 1115

原创 [贪心]UVA11054 Wine trading in Gergovia

题意:题意:一题街道上很多酒店,交易葡萄酒,正数为卖出葡萄酒,负数为需要葡萄酒,总需求量和总售出量是相等的,从一家店到另外一家店需要路费(路费=距离×运算量),假设每家店线性排列且相邻两店之间距离都是1,求最小路费。思路:一开始看出是贪心但是方法完全用错,我的想法是按照出售或者买进的葡萄酒的数量排序,然后依次向右找到要买进或者要卖出的居民,直到所有的都为零,时间复杂度应该是O(N*LogN),但是果断超时了。。后来参考别人的思路,算是明白怎么一回事了我们可以假想第i个人总是与第i+1个人来进行交易来满足

2014-03-29 11:49:38 1478

原创 [贪心]UVA10718 Bit Mask

Problem ABit MaskTime Limit1 SecondIn bit-wise expression, mask is a common term. You can get a certain bit-pattern using mask. For example, if you want to make fir

2014-03-28 09:47:19 1098

原创 [DFS&&剪枝]uva10400 Game Show Math

题意:在英国有一个数学游戏,给参赛者一些正整数和一个目标数,参赛者必须在这些正整数间插入+、-、*或/ 的符号,使得最后计算的结果等于目标数。计算的方式是由左到右,而且不必管运算的优先顺序(就是不管先乘除后加减那一套)。在这个数学运算式中,有三个限制:正整数出现的次序不可改变,也就是要与输入的顺序相同因为目标数也是一个正整数,所以在运算的过程中,你只有在可以整除的情况下才可以使用/ 。在运算的过程中,如果你用某一​​个运算符号,会导致产生的数超出(-32000 ~ +32000)的范围,那么你不可

2014-03-26 11:53:52 1117

原创 [贪心]UVA10602 Editor Nottoobad

题意:一种编辑器只能通过声音做到两种操作-“repeat the last word”, “delete the last symbol”,其他的都必须自己手动输入,问输入一些单词,最少需要手写输入多少次。思路:这是比较典型得贪心法了,要使得手写输入最少,首先要寻找出最大的匹配前缀,因此把所有的单词按照字典序排序,得到得序列是最优,因为前缀有匹配得都会排到相邻位置。

2014-03-26 09:07:37 1167

原创 [暴力]uva10132 File Fragmentation

题意:原本有很多个一样的长串,每个长串都分成了两个短串但是分割的位置不一定相同即两个短串不一定是平分的(就是输入中的那些串)。你要把这偶数个短串拼回那个长串(即2N个短串拼回N个相同的长串),如果有多种可能,任意一种即可,然后输出这个长串思路:输入有点恶心,首先是case数,然后一个空行,然后再输入信息,然后又以一个空行结束该组数据,如果是最后一组数据了,不以空行结束,而是直接以EOF结束。输出,case之间有一个空行,最后一个case后面不要加空行每组case的信息,就是N行的串,串中只有01,串的

2014-03-24 16:11:35 1104

原创 [贪心&&二分]uva714 Copying Books

最大值最小化的典型题目题意:给出m个数字,一个数字k,把这m个数字划分为k个区间使得这k个区间中的所有的数相加的最大值最小,k个区间中的数字必须按照原来的顺序。思路:典型的最大值最小化,这是刘汝佳的算法竞赛经典入门中的讲解,然后使用贪心从后往前找。

2014-03-17 21:24:06 1011

原创 关于macbook使用感受。

新的电脑上周末刚到,到如今使用了近一周了。说说我自己的感受吧。我的电脑配置是15寸的retina屏幕+256GSSD+8G内存+i7处理器。r屏幕还是非常给力的,看什么都觉得特别清晰,不过有些照片的像素不高的话R屏幕显示有点模糊,内存的话跑虚拟机毫无压力。开关机速度比之前的旧电脑好太多。。兼职神速。最令自己满意的还是这个操作系统,MAC OS这个系统和linux差别不是特别大,Linux有的M

2014-03-16 18:56:05 2354 4

原创 [模拟]uva993 Product of digits

题意:给你一个大于等于0 的整数N,请你你找到最小的自然数Q ,使得在Q 中所有数字(digit)的乘积等于N 。思路:比较简单了,就是判断这个数能否被分解成一串1-9的数字相乘得到。

2014-03-16 10:09:00 1126

原创 [模拟水题&&中位数]uva10041 Vito's Family

典型的中位数题目题意:世界闻名的黑社会老大Vito Deadstone要搬到纽约来了。在那里他有一个大家族,并且他们都住在Lamafia大道上。因为Vito时常要拜访所有的亲戚,他想要找一间离他们最近的房子,也就是说他希望从他的家到所有的亲戚的家的距离的和为最小。他恐吓你写一个程式来帮助帮助他解决这个问题。思路:看清楚题目之后就很好理解了,就是典型的中位数。

2014-03-15 22:35:27 1373

原创 [贪心]uva311 Packets

一道典型的贪心题目。。题意:有一间工厂生产的东西, 被包装在相同高度h 的正方形容器内, 但其面积大小分别有:1*1, 2*2, 3*3, 4*4, 5*5, 6*6等六种尺寸。这些产品总是用高度为h,面积为6*6的箱子打包后寄给客户。因为成本关系,当然希望将客户所订购的产品放在最少的箱子里寄出。请你写一个程式找出寄送这些产品最少需要多少个箱子,这可以使工厂节省下不少钱。思路:很典型的贪心思路了,首先6*6的盒子只能单独放箱子里,5*5的盒子可以和11个1*1的盒子搭配。4*4的盒子优先和2*2的盒子搭

2014-03-15 09:24:04 1843

原创 [贪心&&优先队列]uva10954 Add All

题意:在数组中拿出两个数相加,再把结果放回数组中再如此反复,求最小的结果是多少,典型的哈弗曼编码的题目。思路:使用贪心策略,每次都在数组中取出最小的两个数相加,由此得到的结果最小。使用优先队列较为简单,我自己使用的是set。

2014-03-13 09:43:27 1162

原创 [贪心]uva10020 Minimal coverage

题意:给出一个数字M,再给出一些区间,求出使用最少的区间使这些区间覆盖0-M。思路:典型的贪心题目,首先预处理,把和所给的范围不相关的区间过滤掉。再在这些区间中选择使右边的区间能到达最远的范围。

2014-03-12 20:58:49 933

原创 [贪心&&栈模拟]uva10700 Camel trading

题意:给你一个没有括号的表达式,只有数字和加乘号,怎么样组合使它最大最小?思路:首先计算+号再计算乘号得到的结果最大,反之结果最小,可以用贪心方法处理,使用栈模拟,处理的时候遇到优先级大的先计算再压入栈中,最后处理优先级小的。

2014-03-12 10:05:50 952

原创 [模拟]uva10706 - Number Sequence

思路:这道题暴力肯定超时,我想了很久,没想到什么方法,后来参照了他人的思路和代码。下面是题解观察数字可以找到规律:数字范围 数字位数范围 每个数字宽度 总共数字所占位数1~9 : 1~9. 1 4510~99: 11~189 2 9000100~999: 19

2014-03-11 21:22:10 994

原创 [二分搜索]Closest Sums uva10487

题意:给出一个数组和一个数p,求数组中两个不同的数相加使得这两个数之和与这个数p最相近。思路:先排序,在枚举一个数,之后二分查找第二个数,典型的二分,但是我用的是递归的二分查找。。

2014-03-07 15:44:08 1020

原创 [折半查找]PAT1048 Find Coins

题意:在一堆数据中找出两个数使得这两个数相加等于给出的数,如果有多种选择输出那个含有最小值的组合。思路:因为数据量较大,所以暴力搜索超时是肯定的,因此选用折半查找。先排序枚举第一个数字,再查找第二个数字。

2014-03-01 09:32:36 965

原创 [哈希]PAT1050 String Subtraction

题意:给出两个字符串,要求在第一个字符串中把第二个字符串中出现所有的字符去掉。思路:因为卡时比较严格,字符串又比较长,所以要想尽一切方法减少运算,暴力处理肯定超时,所以选用哈希比较好。我使用哈希之后发现还是超时,各种找bug,结果发现在循环处理字符的时候没有把字符串长度保存下来,而是在循环里一直使用strlen函数,导致运算量较大。。血的教训啊!!

2014-03-01 09:24:19 1023

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除