• Test2014-3-1 魅力值比较


    魅力值比较

    【问题描述】

    大学生恋爱的问题造成了数量众多的异地恋,有许多J大的女生早早被Q大男生追走,这导致了J大男生的强烈不满。就在吐血高调地向一位J大美女展开攻势的之后,J大男生终于爆发了。

    为了保护稀缺的女生资源,他们终于向Q大男生发起了挑战。J大选出了n个最帅的男生,要与Q大男生比帅,如果J大获胜,吐血就必须放弃对J大美女的追求。为了学弟的幸福,更为了维护Q大的形象,作为Q大的男生,当然不能示弱。

    比赛规则很简单,两校各出n个男生,分别以姓名(拼音小写)按照字典顺序排序后依次比较,每个男生有一个魅力值,每场较量魅力值高者获胜,胜者方得1分。最后总分高的一方获胜。

    吐血已经从F大的好友超级宇宙霹雳无敌金刚转世小间谍wx那里获取了J大最帅的n个男生的情报,Q大将据此从m个男生中选出n个男生应战。虽然Q大胜券在握,但考虑到两家的秦晋之好,避免给J大MM留下太狂妄的印象,吐血希望在保证Q大获胜的前提下,两家得分差距尽量小。

    【输入格式】

    输入文件的第一行是两个整数n和m。接下来n行,每行一个不含空格的字符串和一个整数,分别表示一个J大男生的姓名和魅力值。接下来m行,每行一个不含空格的字符串和一个整数,表示一个Q大男生的姓名和魅力值。

    【输出格式】

    输出文件仅有一行,如果Q大能够获胜,那么输出在保证Q大获胜的情况下得分的最小差值。如果Q大无法获胜,输出”jiong”。

    -----------------------------------------------------------------------------

    显然Dp,分分钟想到f[i][j][k]的Tle无极限Dp- =

    科学的动归如下

      状态:f[i][j] 表示和J大学的前i人比完后相差j的分数至少需要使用到Q大的第几人

           next[i][j][k]表示要和J的的第i人比,且Q大的前j人已经使用了,

         k==0表示战胜Q大(1),k==1表示平手(0),k==2表示战败(-1)时至少需要使用到Q大的第几个人

      转移:f[i][j]=min(next[i][f[i-1][j-1]][0],next[i][f[i-1][j]][1],next[i][f[i-1][j+1]][2])

      答案就是 f[n][k] k>0且f[n][k]<=m中k的最小值,找不到就是'囧'

  • 相关阅读:
    位运算02 零基础入门学习C语言65(完)
    PE格式详细讲解4 系统篇04|解密系列
    PE格式详细讲解4 系统篇04|解密系列
    int指令02 零基础入门学习汇编语言65
    Tabhost漂亮的自定义实现(背景随着选项卡滑动改变)
    Android API Guide 之 User Interface笔记
    java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端
    android 左右页面滑动(滑屏)增加layout文件 而不是drawable(还有activity)
    android 最简单的九宫格实现
    ViewPager
  • 原文地址:https://www.cnblogs.com/Blacko/p/3575496.html
Copyright © 2020-2023  润新知