bzoj1270 BeijingWc2008 雷濤的小貓 DP
阿新 • • 發佈:2017-10-21
.com main bzoj wc2008 ace sin printf namespace blog
題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id=1270
比較水的一道dp
f1[i]為高度為i的時候的最大值 f2[i]為當前高度在第i棵樹上的最大值
//bzoj1270 雷濤的小貓 dp #include<bits/stdc++.h> using namespace std; int f1[5005],f2[5005]; int mp[5005][5005]; int n,h,d; int main(){ scanf("%d%d%d",&n,&h,&d); int x,y;for(int i=1;i<=n;i++){ scanf("%d",&x); for(int j=1;j<=x;j++){ scanf("%d",&y); mp[i][y]++; } } for(int i=h;i>=1;i--){ int t=(i+d)<=h?f1[i+d]:0; for(int j=1;j<=n;j++){ f2[j]=max(f2[j],t)+mp[j][i]; f1[i]=max(f1[i],f2[j]); } } printf("%d",f1[1]); } /* 3 10 2 3 1 4 10 6 3 5 9 7 8 9 5 4 5 3 6 9 */
bzoj1270 BeijingWc2008 雷濤的小貓 DP