网站开发为什么要写接口,建筑企业登录建设厅网站密码,wordpress产品发布插件,关于企业官方网站建设的ppt题目链接#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid2639 求第k优解的关键代码#xff1a; 用两个数组记录两种状态#xff08;选择或不选择#xff09;#xff0c;并且只要记录前k次。在这两个数组中都是前k次可能的最优解。所以我们只要把这两个数组做比较…题目链接 http://acm.hdu.edu.cn/showproblem.php?pid2639 求第k优解的关键代码 用两个数组记录两种状态选择或不选择并且只要记录前k次。在这两个数组中都是前k次可能的最优解。所以我们只要把这两个数组做比较一直排到k就行了 题目代码 1 #include iostream2 #includecstdio3 #includecstring4 using namespace std;5 int dp[1005][35],a[35],b[35],val[105],vol[105];6 int main()7 {8 int t,n,v,k,c,d,e;9 while(~scanf(%d,t))
10 {
11 while(t--)
12 {
13 scanf(%d%d%d,n,v,k);
14 for(int i0;in;i)
15 scanf(%d,val[i]);
16 for(int i0;in;i)
17 scanf(%d,vol[i]);
18 memset(dp,0,sizeof(dp));
19 memset(a,0,sizeof(a));
20 memset(b,0,sizeof(b));
21 for(int i0;in;i)
22 {
23 for(int jv;jvol[i];j--)
24 {
25 for(int t1;tk;t)
26 {
27 a[t]dp[j-vol[i]][t]val[i];
28 b[t]dp[j][t];
29 }
30 cde1;
31 while(ek(c!k1||d!k1))
32 {
33 if(a[c]b[d])
34 dp[j][e]a[c];
35 else
36 dp[j][e]b[d];
37 if(dp[j][e]!dp[j][e-1])
38 e;
39 }
40 }
41 }
42 printf(%d\n,dp[v][k]);
43 }
44 }
45 return 0;
46 } View Code 转载于:https://www.cnblogs.com/wang-ya-wei/p/5754571.html