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. [WPF]实现TextBox文本框单击全选

    原文:[WPF]实现TextBox文本框单击全选 /// <summary>         /// Void:设置获取焦点时全选文本         /// </summary&g ...

  2. 【未完成】【oracle】单引号使用问题

    ‘-’不可以用 原因:

  3. Docker安装MySQL 8.0并挂载数据及配置文件

    安装部署环境 Ubuntu 18.04.3 LTS Docker 19.03.2 MySQL latest(8.0.17) 下载镜像 # docker从仓库中拉取最新版的mysql镜像,如果没加标签的 ...

  4. 66000][12505] Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor oracle.n et.ns.NetException: Listener refuse

    新装的idea开发工具后连接数据库出现如题所示错误. 1.网上搜了不少的文章,没有解决我的问题.后来细心看了一下url: 一开始url是这样子的. jdbc:oracle:thin:@:s21_pdb ...

  5. typescript里一些有趣的点

    联合类型 在原生的JS里,null和undefined经常会导致BUG的产生, 在ts里,你又想用null,又担心出错的时候 你可以考虑用联合类型,当某值可能为 number或null,你可以声明它的 ...

  6. Samba基础配置

    本文环境:CentOS 7 简介 在UNIX-like之间共享文件系统主要是通过NFS实现的,而Windows之间共享文件系统主要是通过基于NetBIOS的网上邻居实现的,1984年Andrew Tr ...

  7. openpyxl常用API

    worksheet.cell(self, row, column, value=None)描述:给指定位置的单元格赋值参数: row&column:必须参数,单元格的坐标 value:可选参数 ...

  8. H5混合应用之X5内核

    一.X5内核介绍 X5内核是腾讯公司基于优秀开源 webkit 深度优化的浏览器渲染引擎,并且在2014年正式宣布开放给app开发者,所以现在可以在很多app上看到都是使用的X5内核实现Hybrid混 ...

  9. Linux 下编写一个 PHP 扩展

        假设需求 开发一个叫做 helloWord 的扩展. 扩展里有一个函数,helloWord(). echo helloWord('Tom'); //返回:Hello World: Tom 本地 ...

  10. PHP获取网址详情页的内容导出到WORD文件

    亲自测试效果一般, css的样式文件获取不到 如果没有特殊的样式  或者是内容里面包括样式的  直接输出有样式的内容 然后导出  这样还是可以的 class word { function start ...