(未写)tyvj-1333- Coder Space的邀请

传送门:http://new.tyvj.cn/Problem_Show.aspx?id=1333

 

啊。大有收获啊。好吧是我太弱。。


第一个,最多邀请人数
我方程写出来了。但是怪怪的我就把他给否定了。因为时间会爆啊??
但是题解说做些优化就可以了,但是一些极端数据不是一样会爆?
方程
f[i][j]表示小A花i时间小B花j时间邀请到的最多大牛
假设当前循环到第k位大牛
f[i][j]=max( f[i-timea[k]][j],f[i][j-timeb[k]] )
其中要保证时间连续性


第二个,最少时间
f[i][j][k]表示前i个大牛小A邀请j个花了k时间时 小B最少花的时间

f[i][j][k]=min( f[i-1][j][k]+timeb[i],
          f[i-1][j-1][k-timea[i]] )

空间 n^2*maxtime
时间 O( n^2*maxtime )



题解中的优化:
如果A和C邀请某人的用时都超过了maxtime,那么久忽略这位牛别邀请他/她了

个人目前想到的优化:
因为要时间连续 所以记录目前小A和小B达到的最大时间,然后循环缩小上限
(应该可行,而且不受数据限制)

posted on 2012-10-22 21:34  AlphaX  阅读(287)  评论(0编辑  收藏  举报

导航