http://acm.hdu.edu.cn/showproblem.php?pid=6494

题意

一个长n字符串(n,1e4),'A'代表A得分,'B'代表B得分,'?'代表不确定,一局比赛先得11分获胜,10比10以后先得两分者获胜,问你他们最多能比多少局

题解

  • 定义\(dp[i][j][k]\)为第i个字符j比k的最大局数

    • 10比10: \(dp[i][10][10] ->dp[i+1][9][9]\)
    • j=11 or k=11:\(dp[i][j][k] + 1-> dp[i+1][0][0]\)
    • 其他情况:$dp[i][j][k] -> dp[i+1][j+1][k]or dp[i+1][j][k+1]

代码

#include<bits/stdc++.h>
#define MAXN 10005
using namespace std;
const int inf=1e9+5;
int T,dp[MAXN][20][20];
char s[MAXN];
struct N{int x,y,z;N(int x=0,int y=0,int z=0):x(x),y(y),z(z){}};
N cal(int i,int j){
if(i==11||j==11)
return N(0,0,1);
else{
if(i==10&&j==10)return N(9,9,0);
else return N(i,j,0);
}
}
int main(){
cin>>T;
while(T--){
scanf("%s",s);
memset(dp,-1,sizeof(dp));
int n=strlen(s);
dp[0][0][0]=0;
for(int i=1;i<=n;i++){
for(int j=0;j<=10;j++){
for(int k=0;k<=10;k++){
if(dp[i-1][j][k]>=0){
if(s[i-1]=='A'||s[i-1]=='?'){
N tp=cal(j+1,k);
dp[i][tp.x][tp.y]=max(dp[i][tp.x][tp.y],dp[i-1][j][k]+tp.z);
}
if(s[i-1]=='B'||s[i-1]=='?'){
N tp=cal(j,k+1);
dp[i][tp.x][tp.y]=max(dp[i][tp.x][tp.y],dp[i-1][j][k]+tp.z);
}
}
}
}
}
int ans=0;
for(int i=0;i<=10;i++)for(int j=0;j<=10;j++)ans=max(ans,dp[n][i][j]);
printf("%d\n",ans);
}
}

hdu6494 dp的更多相关文章

  1. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  2. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  3. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  4. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  5. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

  6. [斜率优化DP]【学习笔记】【更新中】

    参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...

  7. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  8. px、dp和sp,这些单位有什么区别?

    DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...

  9. android px转换为dip/dp

    /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...

随机推荐

  1. WIN10X64LTSC2019中度精简版by双心

    WIN10X64LTSC2019中度精简版by双心https://www.cnblogs.com/liuzhaoyzz/p/11295032.html 一.前言:关于LTSC中度精简版的说明 一个MM ...

  2. centos安装nginx并配置SSL证书

    安装nginx的命令 sudo yum install epel-release sudo yum install nginx 让nginx随系统启动而启动 sudo systemctl enable ...

  3. yii2关联表

    asArray()这个方法很好用,返回数组是1版本想要的形式,这种方式有种tp框架的感觉

  4. 内核态发生非法地址访问是否会panic

    https://mp.weixin.qq.com/s?__biz=MzAwMDUwNDgxOA==&mid=2652663676&idx=1&sn=b18ab57322594e ...

  5. 2019_JAVA面试题_真实总结

    来自刚被某互联网公司录取的朋友的分享. 整理的面试题1: 1.Java里面有哪几种基础数据类型, 2.Char为何是两个字节, 3.Object有哪些方法 4.final修饰变量,函数,类的作用, 5 ...

  6. 【win10】通过环境变量来快速打开应用程序

    step1:建一个空文件夹,并把文件夹路径复制到剪贴板. step2:依次右键点击“此电脑”.属性.高级系统设置.环境变量,定位到“系统变量”,点击新建. (说明:环境变量分为用户变量和系统变量,用户 ...

  7. DesignPattern系列__08UML相关知识

    前言 现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能.那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了--UML. 简介 UML--U ...

  8. JS基础语法---break关键字

    break关键字: 如果在循环中使用,遇到了break,则立刻跳出当前所在的循环       for (var i = 0; i < 10; i++) {         while (true ...

  9. HTML常用标签二

    图像标签和路径 目录文件夹:普通的文件夹,里面存放了我们做页面需要的相关素材,比如html文件,图片等 根目录:打开目录文件夹的第一层就是根目录 路径 相对路径 以引用文件所在位置为参考基础,而建立出 ...

  10. DDoS攻击工具

    DDoS攻击工具 综合性工具 综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描.安全审计.防火墙等.实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是"网 ...