• JZ高中OJ 1035. [SCOI2009]粉刷匠


    Description

    windy有 N 条木板需要被粉刷。
    每条木板被分为 M 个格子。
    每个格子要被刷成红色或蓝色。
    windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。
    每个格子最多只能被粉刷一次。
    如果windy只能粉刷 T 次,他最多能正确粉刷多少格子?
    一个格子如果未被粉刷或者被粉刷错颜色,就算错误粉刷。
     

    Input

    第一行包含三个整数,N M T。
    接下来有N行,每行一个长度为M的字符串,'0'表示红色,'1'表示蓝色。

    Output

    输出一个整数,表示最多能正确粉刷的格子数。
     

    Sample Input

    3 6 3
    111111
    000000
    001100
    

    Sample Output

    16
     

    Data Constraint

     
     

    Hint

    100%的数据,满足 1 <= N,M <= 50 ; 0 <= T <= 2500 。
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 inline int read()
     4 {
     5     int x=0;char ch=getchar();
     6     while(ch<'0'||ch>'9')ch=getchar();
     7     while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
     8     return x;
     9 }
    10 int n,m,t,ans;
    11 int sum[55];
    12 int f[55][55],dp[55][2505];
    13 char s[60];
    14 int main()
    15 {
    16     n=read();
    17     m=read();
    18     t=read();
    19     for(int i=1;i<=n;i++)
    20     {
    21         scanf("%s",s+1);
    22         for(int j=1;j<=m;j++)
    23             sum[j]=sum[j-1]+(s[j]=='1');
    24         for(int j=1;j<=m;j++)
    25             for(int x=1;x<=m;x++)
    26            {
    27                 f[x][j]=0;
    28                 for(int y=0;y<x;y++)
    29         {
    30             int tmp=sum[x]-sum[y];
    31             f[x][j]=max(f[x][j],f[y][j-1]+max(tmp,x-y-tmp));
    32         }
    33             }
    34         for(int j=1;j<=t;j++)
    35         {
    36             int tmp=min(m,j);
    37             for(int k=1;k<=tmp;k++)
    38                 dp[i][j]=max(dp[i][j],dp[i-1][j-k]+f[m][k]);
    39         }
    40     }
    41     for(int i=1;i<=t;i++)
    42         ans=max(dp[n][i],ans);
    43     printf("%d",ans);
    44     return 0;
    45 }
  • 相关阅读:
    C# 手机号码隐藏中间四位
    mysql-8.0.20-winx64 绿色版安装教程
    C# 钩子函数使用
    C#反射机制学习
    docker学习笔记二
    从主机A得到id_rsa.pub文件,在主机B创建用户danny加入该文件,实现主机A免密登录主机B
    关于mysql远程登录问题
    playframework 编译打包过程失败
    docker学习笔记一
    记一次tomcat7.0版本启动项目失败问题
  • 原文地址:https://www.cnblogs.com/dsanying/p/11329226.html
Copyright © 2020-2023  润新知