摘要:
童话故事 不知道大家有没有看过 天冷极了,下着雪,又快黑了。这是一年的最后一天——大年夜。在这又冷又黑的晚上,一个乖巧的小女孩在机房里调试程序。她从家里出来的时候还穿着一件外套,但是有什么用呢?那是一双很大的外套——那么大,不知是哪一年买的。为了敲代码的时候更方便,她把它脱掉了。同学们常常嘲笑她,因 阅读全文
posted @ 2016-12-25 10:01
一蓑烟雨任生平
阅读(236)
评论(0)
推荐(0)
摘要:
学长的微博总是能帮我们解决很多问题QAQ,超有用的; http://blog.csdn.net/cax1165/article/category/6294316/6 阅读全文
posted @ 2016-12-25 10:00
一蓑烟雨任生平
阅读(137)
评论(0)
推荐(0)
摘要:
童话故事 不知道大家有没有看过 天冷极了,下着雪,又快黑了。这是一年的最后一天——大年夜。在这又冷又黑的晚上,一个乖巧的小女孩在机房里调试程序。她从家里出来的时候还穿着一件外套,但是有什么用呢?那是一双很大的外套——那么大,不知是哪一年买的。为了敲代码的时候更方便,她把它脱掉了。同学们常常嘲笑她,因 阅读全文
posted @ 2016-12-25 09:56
一蓑烟雨任生平
阅读(239)
评论(0)
推荐(0)
摘要:
分析: 本题可以抽象成,从一个整数开始,每次减去a,再加上b (a,b都是正数),要求每次操作都不产生负数。 针对本题a[i] = R[i], b[i] = R[i] – O[i],注意O[i] < R[i],我们有0<b[i]<a[i]。 所以尽管每次有减有加,但是加的没有减的多,总数还是在不断见 阅读全文
posted @ 2016-12-25 09:04
一蓑烟雨任生平
阅读(304)
评论(0)
推荐(0)
摘要:
有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动?分析: 我们就是想提高教室地利用率,尽可能多地安排活动。考虑容易想到的几种贪心策略: (1) 开始最早的活动优先,目标是想尽早结束活动,让出教室。然而, 这个显然不行,因为最早的活动可能很长 阅读全文
posted @ 2016-12-25 08:48
一蓑烟雨任生平
阅读(287)
评论(0)
推荐(1)
摘要:
有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室? 分析:能否按照之一问题的解法,每个教室安排尽可能多的活动,即按结束时间排序,再贪心选择不冲突的活动,安排一个教室之后,剩余的活动再分配一个教室,继续贪心选择……反例: A:[1,2) B: 阅读全文
posted @ 2016-12-25 08:46
一蓑烟雨任生平
阅读(293)
评论(0)
推荐(0)
摘要:
n个人,已知每个人体重,独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?分析: 一个显然的策略是按照人的体重排序。 极端化贪心策略,最重的人要上船——如果最重的人和最轻的人体重总和不超过船的承重, 阅读全文
posted @ 2016-12-25 08:37
一蓑烟雨任生平
阅读(523)
评论(0)
推荐(0)
摘要:
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。 约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个 阅读全文
posted @ 2016-12-25 08:34
一蓑烟雨任生平
阅读(749)
评论(0)
推荐(1)
摘要:
将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。 整数个数n<=100,所有整数的和<=10000 初看题目,第一想到贪心。怎么贪?排序,每次把数放到“最有利”的一边,最有利指的是每次都把数放到使得结果 阅读全文
posted @ 2016-12-25 08:26
一蓑烟雨任生平
阅读(537)
评论(0)
推荐(0)
摘要:
(LIS Longest Increasing Subsequence)给定一个数列,从中删掉任意若干项剩余的序列叫做它的一个子序列,求它的最长的子序列,满足子序列中的元素是单调递增的。 例如给定序列{1,6,3,5,4},答案是3,因为{1,3,4}和{1,3,5}就是长度最长的两个单增子序列。处 阅读全文
posted @ 2016-12-25 08:20
一蓑烟雨任生平
阅读(395)
评论(0)
推荐(0)
摘要:
给定两个字符串S和T,对于T我们允许三种操作: (1) 在任意位置添加任意字符(2) 删除存在的任意字符(3) 修改任意字符 问最少操作多少次可以把字符串T变成S? 例如: S= “ABCF” T = “DBFG” 那么我们可以 (1) 把D改为A(2) 删掉G(3) 加入C 所以答案是3。 分析: 阅读全文
posted @ 2016-12-25 08:15
一蓑烟雨任生平
阅读(3828)
评论(1)
推荐(4)
摘要:
一些概念: (1)子序列: 一个序列A = a1,a2,……an,中任意删除若干项,剩余的序列叫做A的一个子序列。也可以认为是从序列A按原顺序保留任意若干项得到的序列。例如: 对序列 1,3,5,4,2,6,8,7来说,序列3,4,8,7 是它的一个子序列。对于一个长度为n的序列,它一共有2^n 个 阅读全文
posted @ 2016-12-25 08:06
一蓑烟雨任生平
阅读(372)
评论(0)
推荐(0)
摘要:
给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大? 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。 看见这个问题你的第一反应是用什么算法? (1) 枚举?对,枚举是万能的!枚举什么?子数组的位置!好枚举 阅读全文
posted @ 2016-12-25 08:02
一蓑烟雨任生平
阅读(360)
评论(0)
推荐(2)
摘要:
给定一个m行n列的矩阵,矩阵每个元素是一个正整数,你现在在左上角(第一行第一列),你需要走到右下角(第m行,第n列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分,求最大的得分。 初看此题,你的思路是什么? (1) 贪心? 先走到大的数再说?看这个例子: 无论你以什么方 阅读全文
posted @ 2016-12-25 07:46
一蓑烟雨任生平
阅读(519)
评论(0)
推荐(0)