建立一个购物网站需要多少钱,十大电商代运营公司,哪个网站服务器比较好,微擎怎么做网站题解#xff1a;我们使用一个二位数组dp[i][j]记录进行到第i个任务时#xff0c;人组合为j时的最大和#xff08;这里的j我们用二进制的每位相应一个人#xff09;。 详细见代码#xff1a; #include iostream
#include cstdio
#include cstring
… 题解我们使用一个二位数组dp[i][j]记录进行到第i个任务时人组合为j时的最大和这里的j我们用二进制的每位相应一个人。 详细见代码 #include iostream
#include cstdio
#include cstring
#include cmath
using namespace std;
typedef long long ll;
double s[11][1010];
double dp[1010][1050];double work(int m,int n)
{int k(1m)-1;for(int i2; in; i){for(int l0,r0; lk; l){if(dp[i-1][l])for(int j0; jm; j){r1j;if(lr) continue;dp[i][l|r]max(dp[i][l|r],dp[i-1][l]s[j1][i]);}}if(dp[i-1][k]) //jk时单独处理相当于已经运行完一轮之后的第一个任务for(int j0,r0; jm; j){r1j;dp[i][r]max(dp[i][r],dp[i-1][k]s[j1][i]);}}double ans0;for(int i0; ik; i)ansmax(ans,dp[n][i]);return ans;
}int main()
{int cas,m,n;scanf(%d,cas);for(int ca1; cacas; ca){memset(dp,0,sizeof(dp));scanf(%d%d,m,n);for(int i1; im; i){for(int j1; jn; j)scanf(%lf,s[i][j]);dp[1][1(i-1)]s[i][1];}printf(Case #%d: %.5lf\n,ca,work(m,n));}return 0;
}转载于:https://www.cnblogs.com/zfyouxi/p/4490919.html