I and OI
Past...
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 35 下一页
摘要: 题意:有一辆车要从起点0,到终点L处,中间有若干个加油站.给出车的油箱容量200,每行驶1km耗油1L.给出加油站的坐标,以及每个加油站的油价.一开始油箱里有100L的油,到达终点时必须还有100L的油,求最少花多少钱在加油上.分析:DP.对于到达终点时必须还有100L的油这个问题,只要将终点放远100米,设置为油价为0的加油站即可.F[i,j]表示到达第i个加油站有油j升的最优值.到达一个加油站时,枚举加多少油就好了.code:var f:array[0..110,0..210] of longint; g:array[0..110,0..210] of boolean; d,p:array 阅读全文
posted @ 2011-08-13 12:35 exponent 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 题意:给出3*k个数,要求将其分为3个长度为k的序列,使得至少有两个序列的和大于500*k.分析:贪心+随机化.首先排序将最小的前k个去掉,剩下的才最有可能满足题意.然后随机交换[k+1,2k]和[2*k+1,3k]这两个区间内的数,知道满足题意,然后输出.因为k只有60,直接暴力即可.code:type rectype=record n,p:longint;end;var c:array[0..181] of rectype; n,k,i,x,y:longint; procedure sort(l,r:longint); var i,j,mid:longint; begin i:=l; j: 阅读全文
posted @ 2011-08-13 12:03 exponent 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 题意:有N头奶牛,D种疾病,已知每头奶牛都得了哪几种疾病.现在要选出尽可能多的奶牛,使得这些奶牛所带的疾病种类不大于K种,问最多能选几只.分析:D<=15,N<=1000,考虑暴力枚举疾病种类的组合,O(N)求出可以入选的奶牛数.因为有K的限制,枚举的复杂度最多为C(D,D/2)只有6000多.位运算优化下,居然79MS.code:var dis:array[0..1001] of longint; n,d,k,i,j,l,di,tmp,ans:longint; function lowbit(x:longint):longint; begin exit(x and (x xor 阅读全文
posted @ 2011-08-12 17:32 exponent 阅读(204) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 35 下一页