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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux运维脚本-系统登陆提示

    linux运维脚本-系统登陆提示

    2021年6月2日
    100
  • GATK流程_diskeeper怎么用

    GATK流程_diskeeper怎么用一、使用GATK前须知事项:(1)对GATK的测试主要使用的是人类全基因组和外显子组的测序数据,而且全部是基于illumina数据格式,目前还没有提供其他格式文件(如IonTorrent)或者实验设计(RNA-Seq)的分析方法。(2)GATK是一个应用于前沿科学研究的软件,不断在更新和修正,因此,在使用GATK进行变异检测时,最好是下载最新的版本,目前的版本是2.8.1(2014-02

    2025年8月25日
    3
  • Python正则表达式教程_python正则表达式匹配中文

    Python正则表达式教程_python正则表达式匹配中文????今天我们来学习python的正则表达式的部分,先说下为什么要学习这一部分呢,当然是因为正则表达式处理文本类型的数据实在是太方便了。为以后进入nlp领域打打基础!先给大家推荐一个网站:用于正则表达式验证.大致就长这个样子。这里写目录标题1.基础知识2.贪婪模式和非贪婪模式3.反斜杠的用途4.中括号的用法5.匹配启始和结束位置6.括号的用法—组选择7.正则表达式切割字符总结1.基础知识普通字符:普通字符的含义就是字节匹配他们。特殊字符:它们出现在正则表达式中,不是直接匹配他们,而是

    2022年10月4日
    4
  • 如何开发一个webide_怎么让自己简单一点

    如何开发一个webide_怎么让自己简单一点想写C/C++,得下VisualStudio,或者JetBrainsCLion,或者CodeLite……想写Java,得用Eclipse,或者IntelliJIDEA,或者NetBeans……想写python,得安PyCharm,或者Spyder,或者PyDev……正所谓“安装两小时,代码五分钟”最后,好不容易安装好,在配置过程中一不留神误删了某些插件或配置~…

    2022年10月18日
    0
  • Nginx代理转发_nginx代理和转发的区别

    Nginx代理转发_nginx代理和转发的区别nginx之proxy_pass第一种:location/proxy/{proxy_passhttp://127.0.0.1/;}代理到URL:http://127.0.0.1/test.html第二种(相对于第一种,最后少一个/location/proxy/{proxy_passhttp://127.0.0.1;}代理到URL:http://127.0.0.1/proxy/test.html第三种location/proxy/{p

    2025年7月4日
    4
  • [Mapreduce]eclipse下写wordcount「建议收藏」

    [Mapreduce]eclipse下写wordcount

    2022年2月4日
    38

发表回复

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

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