建议去大牛分站交一遍,那里好像开o2优化,能过
by a155936453 @ 2017-08-15 16:10:47
#大牛分站优化
by __世界第一弱__ @ 2017-08-15 16:13:00
大牛的确过了。。
by Paperback_Writer @ 2017-08-15 16:17:02
对,大牛这边快很多
by 太阳之神2015 @ 2017-08-21 09:11:41
//02
by wangziyuan @ 2019-10-16 14:48:35
@[EricPaul](/user/27454) 试试过滤掉下跌的和一张都买不起的股票再DP?
by 035966_L3 @ 2021-08-10 01:18:16
@[EricPaul](/user/27454)
```cpp
#include<bits/stdc++.h>
using namespace std;
int p[52][12];
int t[500012];
int y[52];
int x[52];
int bag(int n,int m)
{
memset(t,0,sizeof(t));
for(int i=0;i<=m;++i)
for(int j=1;j<=n;++j)
t[i+y[j]]=max(t[i+y[j]],t[i]+x[j]);
int ans=0;
for(int i=m>>1;i<=m;++i)
ans=max(ans,t[i]);
return ans;
}
int main()
{
int s,d,m,sum;
scanf("%d %d %d",&s,&d,&m);
for(int i=1;i<=s;++i)
for(int j=1;j<=d;++j)
scanf("%d",&p[i][j]);
sum=m;
for(int i=1;i<d;++i)
{
memset(y,0,sizeof(y));
memset(x,0,sizeof(x));
int bsc=0;
for(int j=1;j<=s;++j)
if(p[j][i+1]>p[j][i]&&p[j][i]<=sum) bsc++,y[bsc]=p[j][i],x[bsc]=p[j][i+1]-p[j][i];
sum+=bag(bsc,sum);
}
printf("%d",sum);
return 0;
}
```
by 035966_L3 @ 2021-08-10 01:19:29