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


相关推荐

  • 十大排序——最全最详细,一文让你彻底搞懂

    十大排序——最全最详细,一文让你彻底搞懂最全最详细,一文带你了解十大排序Sort写在前面因为GitHub的主文档太长,不容易维护,所以建立子文档以辅助。本篇内容是主文档中的排序部分的扩展。注:本篇内容最早发布于GitHub中,如果你觉得我写得还行,记得给我Star或是Fork~~献给我的家人作者Three领英知乎力扣CSDN????????????不积跬步,无以至千里;不积小流,无以成江海。????Top代表返回顶部????代表到文档末尾如果你觉得我

    2022年7月24日
    12
  • 2022年N1叉车司机考试模拟100题及模拟考试

    2022年N1叉车司机考试模拟100题及模拟考试题库来源:安全生产模拟考试一点通公众号小程序2022N1叉车司机试题为N1叉车司机培训试题理论知识考试题库!2022年N1叉车司机考试模拟100题及模拟考试依据N1叉车司机考试教材。N1叉车司机全部考试题库随时根据安全生产模拟考试一点通上练习全部题库。1、【多选题】《中华人民共和国特种设备安全法》第八十四条规定,特种设备使用单位的特种设备存在严重事故隐患,无改造、修理价值,或者达到安全技术规范规定的其他报废条件,未依法履行报废义务,并办理使用登记证书注销手续的。责令停止使用有关特种设备,处()以

    2022年9月6日
    2
  • 将String转换成Int数组-Java「建议收藏」

    今天贴出来一个编程小技巧,利用substring或charAt将字符转换为int数组。方法一:publicclassParseString{publicstaticint[]stringToInts(Strings){int[]n=newint[s.length()];for(inti=0;i

    2022年4月12日
    45
  • MDK 生成BIN文件 最简单方式「建议收藏」

    MDK 生成BIN文件 最简单方式「建议收藏」如图中所示,一行命令就可以了。fromelf.exe–bin-o..\Output\@p.bin..\Output\@p.axf

    2022年10月20日
    0
  • linux 虚拟化技术(主流虚拟化技术)

    虚拟化技术的方法,架构和实现概览级别:中级M.TimJones[mtj@mtjones.com],顾问工程师,Emulex原文:VirtualLinux译:赵珂cn.zhaoke.comhttp://blog.zhaoke.com/45.html2006年12月29日虚拟化技术的应用十分广泛.当前虚拟化技术主要关注于服务器的虚拟化,…

    2022年4月14日
    45
  • 简单使用压测工具JMeter

    简单使用压测工具JMeter目录一、安装步骤二、配置三、使用四、常见问题及解决一、安装步骤JMeter可以在JMeter的官方网站下载,如下图所示由于JMeter使用java开发,所以启动需要本机有jdk环境,这里使用的是jdk1.8。下载解压后,找到bin目录,运行jmeter.bat即可启动。二、配置jmeter.properties个人修改了字体的一些设置,可以参考HTTPResponse.parsers=htmlParserwmlParsercssParserbeanshell

    2022年10月24日
    0

发表回复

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

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