蓝桥杯试题 算法提高 学生节
题目很眼花缭乱,其实是0/1背包变形式子,注意事项以及AC代码如下:
1 #pragma GCC optimize(2) 2 #include<bits/stdc++.h> 3 using namespace std; 4 int dp[1010][1010];//在ti最晚时间,能看m个节目的最大的价值 5 int n,m,t; 6 int value[1010]; 7 int main() 8 { 9 ios::sync_with_stdio(false); 10 cin>>n>>m>>t; 11 for(register int i=1;i<=n;i++) 12 cin>>value[i]; 13 while(t--)//依次读取最晚时间 14 { 15 int ti; 16 cin>>ti; 17 for(register int i=1;i<=ti;i++) 18 { 19 for(register int j=1;j<=m;j++) 20 { 21 dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]+value[i]); 22 } 23 } 24 cout<<dp[ti][m]<<endl; 25 } 26 return 0; 27 }
本文来自博客园,作者:江上舟摇,转载请注明原文链接:https://www.cnblogs.com/LQS-blog/p/15986936.html