2010-06-16から1日間の記事一覧

CodeForces Beta Round #18 D. Seller Bob

Seller Bob動的計画法。i日目に2xMBを手に入れて、j日目に2xMBのメモリスティックを買いに来る客がいるならば、j日目の収入はj-1日目の収入(この客にメモリスティックを売らない)とi日目の収入+2xberllar(この客にメモリスティックを売る)のどちらか大き…

CodeForces Beta Round #18 C. Stripe

Stripe切れ目の位置ごとに合計を求めると間に合わないので、動的に計算する。 n = input() s = [int(x) for x in raw_input().split()] c = 0 l,r = 0,sum(s) for i in xrange(n-1): l += s[i] r -= s[i] if l == r: c += 1 print c

CodeForces Beta Round #18 B. Platforms

Platforms着地点について考えると(たぶん)間に合わないので、それぞれの穴について考える。 n,d,m,l = [int(x) for x in raw_input().split()] for k in xrange(n): t = ((k*m+l)/d+1)*d if ( k < n-1 and t < (k+1)*m or k == n-1 ): print t break

CodeForces Beta Round #18 A. Triangle

Triangle def rightsub(x1,y1,x2,y2,x3,y3): dx1,dy1 = x2-x1,y2-y1 dx2,dy2 = x3-x1,y3-y1 return ( ( dx1 != 0 or dy1 != 0 ) and ( dx2 != 0 or dy2 != 0 ) and dx1*dx2+dy1*dy2 == 0 ) def right(x1,y1,x2,y2,x3,y3): return ( rightsub(x1,y1,x2,y2,x3,…