HDU 4293 Groups (线性dp)

HDU 4293 Groups (线性dp)

OJ题目:click here~~

题目分析:n个人分为若干组 , 每一个人描写叙述其所在的组前面的人数和后面的人数。求这n个描写叙述中,最多正确的个数。

设dp[ i ] 为前i个人的描写叙述中最多正确的个数,则dp[ n ] 为要求的。num[ i ][ j ]  保存说前面有i个人 , 后面有j个人的人数,显然num[ i ][ j ]不超过n – i – j;

转移方程dp[ i ] = max(dp[ i ] , dp[ j ]  + num[ j ][ n – i ])  ,详解见代码凝视。

AC_CODE

int num[502][502];
int dp[502];
int main()
{
    //freopen("in.txt","r",stdin);
    int n;
    while(cin >> n){
        memset(num , 0 , sizeof(num));
        memset(dp , 0 , sizeof(dp));
        int i , j , a , b;
        for(i = 1;i <= n;i++){
            scanf("%d%d",&a,&b);
            if(a+b < n && num[a][b] < (n - a - b)) num[a][b]++;
        }
        for(i = 1;i <= n;i++)//对于第i个人
            for(j = 0;j < i;j++)//他可能表述为前面有j个人,j在[0 i-1],所以是dp[j] + num[j][]
            dp[i] = max(dp[i] , dp[j] + num[j][n-i]);//为什么num的二维表示成[n-i]?这样能够保证2个for下来遍历全部该遍历的num[i][j]!!!
        cout << dp[n] << endl;
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119078.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决thymeleaf 现 There was an unexpected error (type=Internal Server Error, status=500).

    解决thymeleaf 现 There was an unexpected error (type=Internal Server Error, status=500).若你运行springboot在网页中出现如下错误那一定是你忘写<htmllang=”en”xmlns:th=”http://www.thymeleaf.org”>或者说漏写或写错,如果还不错,给个赞支持一下呗…

    2022年7月12日
    43
  • matlab 读txt数据_数据库文件的读取

    matlab 读txt数据_数据库文件的读取fid=fopen(‘hello.txt’,’w’);%需要改文件名称的地方fprintf(fid,’%f\n’,data);%data:需要导出的数据名称fclose(fid);…

    2025年9月22日
    7
  • MessageBox()功能

    MessageBox()功能

    2022年1月1日
    64
  • pandas用平均值填充缺失值_pandas筛选列不为空值

    pandas用平均值填充缺失值_pandas筛选列不为空值官方fillna方法文档pandas中fillna()方法,能够使用指定的方法填充NA/NaN值。1.函数详解函数形式:fillna(value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)参数:value:用于填充的空值的值。method:{‘backfill…

    2022年8月12日
    11
  • python爬虫爬图片教程_爬虫爬取图片的代码

    python爬虫爬图片教程_爬虫爬取图片的代码用Python爬虫来爬小姐姐本教程将教你从0开始走进Python爬虫1.我们先要知道Python爬虫的原理基本的Python爬虫原理很简单,分为三步获取网页源码通过分析源码并通过代码来获取其中想要的内容进行下载或其他操作话不多说直接开干注意!本教程只是为了快速入门爬虫并实现一个功能,不考虑代码写的漂不漂亮,规不规范先准备上我们的目标网页开始我用的工具是:JetBrai…

    2025年6月28日
    4
  • 基于51单片机步进电机控制[通俗易懂]

    基于51单片机步进电机控制[通俗易懂]实现功能:1、用矩阵键盘设定电机目标转速及旋转方向,范围100~300转/分;2、测量、显示电机实际转速和方向(正转显示“P”,反转显示“N”);从实现功能上分析,软件可以分解3个功能模块:1,步进电机控制模块2,矩阵键盘输入模块3,显示输出模块步进电机工作原理步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速…

    2022年5月31日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号