讨论 / 怎么做啊?
181818181818 2008-11-04 05:53:00
点我顶贴 收藏 删除
贪心只有40分啊?

#1 姚斯宇@2008-04-12 07:17:00
回复 删除
新找到输入的数据中“1”的个数 t;

t=f[0];

观察:

原数据:

2 1 1 1 2 2 1

可能的结果:

2 2 2 2 2 2 2 f[0]=4;(需要调动的个数)

1 2 2 2 2 2 2 f[1]=5;

1 1 2 2 2 2 2 f[2]=4;

1 1 1 2 2 2 2 f[3]=3;

1 1 1 1 2 2 2 f[4]=2;

1 1 1 1 1 2 2 f[5]=3;

1 1 1 1 1 1 2 f[6]=4;

1 1 1 1 1 1 1 f[7]=3;

对于最终结果有n+1个不同答案

对于f[n];

如果这个位置是“1” : f[n]=f[n-1]-1;

如果这个位置是“2” : f[n]=f[n-1]+1;

这个只需要一遍O(N)的扫描……

1818181818大牛,不用我再废话了吧……

#2 181818181818@2008-04-12 17:57:00
回复 删除
thanks
#3 181818181818@2008-04-12 18:34:00
回复 删除
请注意我是181818181818(6个)!
#4 LIFE@2008-11-04 05:53:00
回复 删除
Orz大牛,谢了,我A了
查看更多回复
提交回复