摘要:
题意:奶牛美容:有C头奶牛日光浴,每头奶牛分别需要minSPF_i和maxSPF_i单位强度之间的阳光。现有L种防晒霜,分别能使阳光强度稳定为SPF_i,其瓶数为cover_i。求最多满足多少头奶牛 思路: 将奶牛按照阳光强度的最小值从小到大排序。将防晒霜也按照能固定的阳光强度从小到大排序。 从最小 阅读全文
摘要:
题意:给你N(N<=100)只牛,每只牛有一个智慧值Si和一个活泼值Fi,现在要从中找出一些来,使得这些牛智慧值总和S与活泼值总和F之和最大,且F和S均为正。Si和Fi范围在-1000到1000之间。 思路: 可以把S当体积,F当价值做01背包。但是注意是S可为负,所以整体加100000,然后要注意 阅读全文
摘要:
题意: 有一头牛想要建一座石塔,他有很多不同类型的石块。每类石块有三个属性:1. (h): 石块的高度;2. (a): 石块能达到的最大高度;3. (c): 石块的数量 思路: 采用多重背包。注意点:在做背包前需要对石块能到达的最大高度(a)进行排序,防止石塔到了一定高度后,剩下的一些石块所能达到的 阅读全文
摘要:
题意:农夫约翰想修一条尽量平缓的路,路的每一段海拔是A_i,修理后是B_i,花费|A_i – B_i|,求最小花费。 思路:平缓的意思是海拔单调增或单调减(非严格),主要目的大概是让我们做出“到底是增好还是减好”选择。 用DP的话可以完全忽略这个选择: dp[i][j] := 前i + 1个数变成单 阅读全文
摘要:
题意:给你一个长为n(n<=40000)的整数序列, 要你求出该序列的最长上升子序列LIS. 思路:要求(nlogn)解法 令g[i]==x表示当前遍历到的长度为i的所有最长上升子序列中的最小序列末尾值为x.(如果到目前为止, 根本不存在长i的上升序列, 那么x==INF无穷大) 假设当前遍历到了第 阅读全文
摘要:
题意: 有一些木棍,每个有长度和重量,要求把这些木棍排成若干两个属性值均不下降的序列。问至少要分为多少个序列。且要保证排出来的子序列数最少。 思路: ( 9 , 4 ) ,( 2 , 5 ) ,( 1 , 2 ) ,( 5 , 3 ),( 4 , 1 )可以排成这样 ( 4 , 1 ) , ( 5 阅读全文