@[情谊、暴走](/space/show?uid=115923) 您这个$ 40^4 $ 的40是怎么来的
by SkyLiYu @ 2019-05-14 15:51:31
@[情谊、暴走](/space/show?uid=115923) 是$4^{40}$阿老兄
by 万弘 @ 2019-05-14 15:54:20
@[万弘](/space/show?uid=73142) 多谢
by 情谊、暴走 @ 2019-05-15 13:03:15
都是姐妹啊我也暴搜 ~~(逃~~
by zyx10 @ 2019-08-15 15:00:55
### 这道题用动态规划最好做,而不是深搜
本~~蒟蒻~~用的也是动态规划,见代码
```
#include<bits/stdc++.h>
using namespace std;
int MLE[41][41][41][41],OLE[5],TLE[1001];
int main()
{
memset(MLE,0,sizeof(MLE));
memset(OLE,0,sizeof(OLE));
int AC,PC,CE,WA,UKE,RE;
cin>>UKE>>RE;
for(PC=1;PC<=UKE;PC++)cin>>TLE[PC];
for(PC=1;PC<=RE;PC++)
{
cin>>CE;
OLE[CE]++;
}
MLE[0][0][0][0]=TLE[1];
for(AC=0;AC<=OLE[1];AC++)
for(PC=0;PC<=OLE[2];PC++)
for(CE=0;CE<=OLE[3];CE++)
for(WA=0;WA<=OLE[4];WA++)
{
UKE=AC+1+PC*2+CE*3+WA*4;
if(AC!=0)MLE[AC][PC][CE][WA]=max(MLE[AC][PC][CE][WA],MLE[AC-1][PC][CE][WA]+TLE[UKE]);
if(PC!=0)MLE[AC][PC][CE][WA]=max(MLE[AC][PC][CE][WA],MLE[AC][PC-1][CE][WA]+TLE[UKE]);
if(CE!=0)MLE[AC][PC][CE][WA]=max(MLE[AC][PC][CE][WA],MLE[AC][PC][CE-1][WA]+TLE[UKE]);
if(WA!=0)MLE[AC][PC][CE][WA]=max(MLE[AC][PC][CE][WA],MLE[AC][PC][CE][WA-1]+TLE[UKE]);
}
cout<<MLE[OLE[1]][OLE[2]][OLE[3]][OLE[4]]<<endl;
return 0;
}
```
by ¥¥¥¥¥¥ @ 2019-10-29 20:14:55