dp[i][j]表示第i位取j的时候取得的最大的分数

然后分s[i]是不是问号,s[i-1]是不是问号这大的四种情况讨论

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std; const int maxn = ;
int dp[maxn][];
int a[maxn];
char s[maxn];
int n; int main(){
int T;
scanf("%d",&T);
int kase = ;
while(T--){
cin >> (s+);
n = strlen(s+);
for(int i = ;i <= n;i++) scanf("%d",&a[i]); s[] = '';
memset(dp,,sizeof(dp)); for(int i = ;i <= n;i++){
if(s[i] == '?'){
if(s[i-] == '?'){
dp[i][] = max(dp[i-][] + a[i],dp[i-][]);
dp[i][] = max(dp[i-][] + a[i],dp[i-][]);
}
else{
if(s[i-] == '') dp[i][] = dp[i-][],dp[i][] = dp[i-][] + a[i];
else dp[i][] = dp[i-][] + a[i],dp[i][] = dp[i-][];
}
}
else{
if(s[i-] == '?'){
if(s[i] == '') dp[i][] = max(dp[i-][],dp[i-][] + a[i]);
else dp[i][] = max(dp[i-][] + a[i],dp[i-][]);
}
else{
if(s[i] == s[i-]) dp[i][s[i]-''] = dp[i-][s[i-]-''];
else dp[i][s[i]-''] = dp[i-][s[i-]-''] + a[i];
}
}
// printf("dp[%d][0] = %d dp[%d][1] = %d\n",i,dp[i][0],i,dp[i][1]);
}
printf("Case #%d: ",++kase);
if(s[n] == '?') printf("%d\n",max(dp[n][],dp[n][]));
else printf("%d\n",dp[n][s[n]-'']);
}
return ;
}

话说比赛的时候,题目的意思都没有读懂------

诶---

加油啊---goooooo---

hdu 5375 Gray code 【 dp 】的更多相关文章

  1. HDU 5375——Gray code——————【dp||讨论】

    Gray code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  2. hdu 5375 - Gray code(dp) 解题报告

    Gray code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  3. HDU 5375 Gray code(DP)

    题意:给一串字符串,里面可能出现0,1,?,当中问号可能为0或1,将这个二进制转换为格雷码后,格雷码的每位有一个权值,当格雷码位取1时.加上该位权值,求最大权值和为多少. 分析:比赛的时候愚了.竟然以 ...

  4. HDU 5375 Gray code (简单dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5375 题面: Gray code Time Limit: 2000/1000 MS (Java/Oth ...

  5. 2015 Multi-University Training Contest 7 hdu 5375 Gray code

    Gray code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  6. HDU 5375 Gray code(2015年多校联合 动态规划)

    题目连接 : 传送门 题意: 给定一个长度为的二进制串和一个长度为n的序列a[],我们能够依据这个二进制串得到它的Gray code. Gray code中假设第i项为1的话那么我们就能够得到a[i] ...

  7. hdu 5375 Gray code dp

    #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; cons ...

  8. HDU - 1176 免费馅饼 【DP】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1176 思路 因为刚开始的起点是固定的 但是终点不是固定的 所以我们可以从终点往起点推 dp[i][j] ...

  9. HDU 1158 Employment Planning【DP】

    题意:给出n个月,雇佣一个人所需的钱hire,一个人工作一个月所需要的钱salary,解雇一个人所需要的钱fire,再给出这n个月每月1至少有num[i]个人完成工作,问完成整个工作所花费的最少的钱是 ...

随机推荐

  1. (转)RabbitMQ学习之集群部署

    http://blog.csdn.net/zhu_tianwei/article/details/40931971 我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集 ...

  2. JeeSite 4.0 规划(二)

    ==== 点击放大查看 ==== ==== 点击放大查看 ====

  3. public var tap: ControlEvent

    extension Reactive where Base: UIButton { /// Reactive wrapper for `TouchUpInside` control event. pu ...

  4. C# 递归产生树

    //递归产生树 private void CreateTwo(TreeNode node, int id) { #region --根据指定ID查找数据到 dt string strSql = &qu ...

  5. type="radio"样式修改

    input[type=radio],input[type=checkbox] { display: inline-block; vertical-align: middle; width: 20px; ...

  6. CenOS 安装python3 与python2共存

    Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...

  7. XSS Chanllenges 11-15

    Stage #11 根据提示,发现正则匹配,过滤掉了很多关键字 除on 事件和script 事件外,能执行js 代码的还有a 标签构造的超链接 构造 "><a href=java ...

  8. [luogu1600 noip2016] 天天爱跑步 (树上差分)

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵 ...

  9. 猫狗分类--Tensorflow实现

    贴一张自己画的思维导图  数据集准备 kaggle猫狗大战数据集(训练),微软的不需要FQ 12500张cat 12500张dog 生成图片路径和标签的List step1:获取D:/Study/Py ...

  10. Spring 注解学习笔记

    声明Bean的注解: @Component : 组件,没有明确的角色 @Service : 在业务逻辑层(service层)使用 @Repository : 在数据访问层(dao层)使用. @Cont ...