摘要: 贪心策略的题,令 \(n\) 表示未过桥的人数,\(a_i\) 表示每个人过桥的时间并按从小到大排序,\(sum\) 表示最少过桥总时间,策略如下:若 \(n=1\),\(a_0\) 直接过桥,\(sum(1)=a_0\)若 \(n=2\),\(a_0a_1\) 过桥,\(sum(2)=a_1\)若 \(n=3\),\(a_0a_2\) 过桥 \(a_0\) 回来,\(a_0a_1\) 过桥,\(sum(3)=a_0+a_1+a_2\)若 \(n \geq 4\),不断选择速度最慢的两个人 \(a_{n-1}, a_{n-2}\) 执行以下两种策略之一:(1) \(a_0 \ a_{n-1}\ 阅读全文
posted @ 2013-11-26 10:24 valaxy 阅读(196) 评论(0) 推荐(0)
摘要: 同 DIV1-300 阅读全文
posted @ 2013-11-25 07:40 valaxy 阅读(105) 评论(0) 推荐(0)
摘要: 一般编程题 1 class YahtzeeScore: 2 def maxPoints(self, toss): 3 count = [0] * 7 4 for x in toss: 5 count[x] += 1 6 result = -1 7 for i in range(1, 7): 8 result = max(result, i * count[i]) 9 return result10 11 # test12 o = YahtzeeScore()1... 阅读全文
posted @ 2013-11-25 07:35 valaxy 阅读(116) 评论(0) 推荐(0)
摘要: 同DIV1-600 阅读全文
posted @ 2013-11-25 06:43 valaxy 阅读(147) 评论(0) 推荐(0)
摘要: 枚举题,原题重新表述为:求 \(\{\frac{100x}{time} \ | \ x \in (0,time)\}\) 集合内整数的个数\(time\) 的范围不算大,直接枚举即可优化\(整数个数=gcd(time,100)-1\)证明如下:\(\frac{100x}{time}\) 是整数当且仅当 \(x=k \times \frac{time}{gcd(time,100)}, k \in Z \),则:\(\begin{equation}\begin{split}x &\in (0, time) \\ k \times \frac{time}{gcd(time,100)} &am 阅读全文
posted @ 2013-11-25 06:34 valaxy 阅读(165) 评论(0) 推荐(0)