Educational Codeforces Round 39-D-Timetable(背包DP)
2018-03-08 10:45
441 查看
题意:给你n天,每天有m节课,你最多可以逃k节课,并且对于某一天,在你决定上的第一节课和最后一节课之间就算没课,也要待在学校,问你可以在学校呆的最少时间是多少?
题解:对于每天,我们暴力出上x节课需要在学校呆的最长时间,然后设dp[i][j]表示前i天逃掉j节课所在学校呆的最长时间,跑一发类似于背包dp即可。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int sum[505][505],a[505][505],b[505][505];
int dp[505][505],ans,n,m,k;
int main(void)
{
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%1d",&a[i][j]),sum[i][j]=sum[i][j-1]+a[i][j];
for(int t=1;t<=n;t++)
for(int i=1;i<=m;i++)
for(int j=i-1;j<=m;j++)
{
int tmp=sum[t][j]-sum[t][i-1];
b[t][sum[t][m]-tmp]=max(b[t][sum[t][m]-tmp],m-(j-i+1));
}
int ans=0;
for(int i=1;i<=n;i++)
for(int j=0;j<=k;j++)
for(int t=0;t<=j;t++)
dp[i][j]=max(dp[i][j],dp[i-1][j-t]+b[i][t]);
for(int i=0;i<=k;i++)
ans=max(ans,dp
[i]);
printf("%d\n",n*m-ans);
return 0;
}
相关文章推荐
- Educational Codeforces Round 39 (Rated for Div. 2)D. Timetable(dp)
- Educational Codeforces Round 39 (Rated for Div. 2) codeforces946 D. Timetable-数据处理+分组背包(处理炸裂)
- Educational Codeforces Round 39 (Rated for Div. 2) D. Timetable (背包)
- Educational Codeforces Round 39: D. Timetable(DP)
- Educational Codeforces Round 39: F. Fibonacci String Subsequences(区间DP)
- Educational Codeforces Round 39 (Rated for Div. 2)(A-D)(水题 + 模拟 + 贪心模拟 + DP)
- Educational Codeforces Round 26-D-Round Subset(背包DP)
- Educational Codeforces Round 39 (Rated for Div. 2) D. Timetable(动态规划)
- Educational Codeforces Round 39 (Rated for Div. 2)
- (Educational Codeforces Round 9)Thief in a Shop(dp)
- Educational Codeforces Round 9 D. Longest Subsequence dp
- (dp) Codeforces Educational Codeforces Round 21 E-Selling Souvenirs
- Educational Codeforces Round 21 E - Selling Souvenirs(三分or贪心背包)
- Educational Codeforces Round 26 D. Round Subset(dp)
- Educational Codeforces Round 16 E. Generate a String (dp)
- Codeforces Round #419 (Div. 2)-树形dp&依赖背包&-E. Karen and Supermarket
- Educational Codeforces Round 39 (Rated for Div. 2) E Largest Beautiful Number
- Educational Codeforces Round 9 E. Thief in a Shop dp fft
- Educational Codeforces Round 39 B - Weird Subtraction Process
- Educational Codeforces Round 40 (Rated for Div. 2) F. Runner's Problem 前缀和求区间覆盖 矩阵快速幂优化DP 离散化