码迷,mamicode.com
首页 > 其他好文 > 详细

GCJ2015 Problem B. Infinite House of Pancakes

时间:2015-04-13 01:42:19      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

我这个弱B

一开始就认为对于一个数, 对半分肯定比其他的分配方案好,然后最终也没过

对半分不一定是最好的分配方案,比如, 9 可能分成3个3比对半分好

真不知道那些大牛是怎么思考问题的,我看了第一的代码,他枚举最终状态的最大值, 他是怎么思考问题的呢?

下面这个我改的蔡的暴力代码, 加上了枚举每一种分法,目前能过小数据, 大数据超时应该

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 
 5 using namespace std;
 6 
 7 int a[1005];
 8 int n;
 9 
10 int minTime(int i) {
11         int j;
12         for(j = i; j >= 1; j-- ) {
13                 if(a[j] > 0)
14                         break;
15         }
16         if(j <= 1) {
17                 return 1 == j && a[j] > 0 ? 1 : 0;
18         }
19 
20         int ans = j;
21         for (int x = 1; x <= (j >> 1); ++x) {
22                 a[x] += a[j];
23                 a[j - x] += a[j];
24                 int tmp = a[j] + minTime(j - 1);
25                 ans = ans > tmp ? tmp : ans;
26                 a[x] -= a[j];
27                 a[j - x] -= a[j];
28         }
29 
30         return  ans;
31 }
32 
33 int main() {
34         int T;
35         cin >> T;
36         for (int cas = 1; cas <= T; ++cas) {
37                 cin >> n;
38                 memset(a, 0, sizeof(a));
39                 for (int i = 0; i < n; ++i) {
40                         int p;
41                         cin >> p;
42                         ++a[p];
43                 }
44                 int ans = minTime(1000);
45                 cout << "Case #" << cas << ": " << ans << endl;
46         }
47         return 0;
48 }

 下面这个是大神的代码, 我留做纪念

1             int min = 10000;
2             for (int lim = 1; lim <= counts.length; lim++)
3             {
4                 int moves = 0;
5                 for (int i = 0; i < counts.length; i++)
6                     moves += ((i - 1) / lim) * counts[i]; //这个i-1我也是醉了
7                 if (moves + lim < min)
8                     min = moves + lim;
9             }

 

GCJ2015 Problem B. Infinite House of Pancakes

标签:

原文地址:http://www.cnblogs.com/ACSeed/p/4421134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!