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学习笔记(5)----RabbitMQ整合Spring

    在Spring AMQP项目中Spring也提供了对RabbitMQ的支持,这里在之前学习SpringBoot的时候也整合过,但是今天这里使用的Spring的xml配置来整个rabbit. Sprin ...

  2. 【udacity】机器学习-波士顿房价预测小结

    Evernote Export 机器学习的运行步骤 1.导入数据 没什么注意的,成功导入数据集就可以了,打印看下数据的标准格式就行 用个info和describe 2.分析数据 这里要详细分析数据的内 ...

  3. 探索JS引擎工作原理 (转)

    这篇文章从相对底层的角度介绍了js引擎的工作 引入了 静态作用域 执行环境上下文(context) 等概念 , http://www.cnblogs.com/onepixel/p/5090799.ht ...

  4. HDU2147 - kiki's game 【巴什博弈】

    Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes th ...

  5. spring实现定时任务的两种方式之spring @scheduled注解方式

    1.使用spring的 scheduled使用注解的方式 这种方法的好处是:使用方便,配置少,提高开发效率: 缺点是:如果使用服务器集群部署方式的时候,其自身无法解决定时任务重复执行的问题. 2.首先 ...

  6. Vue.js 渲染简写样式存在的问题

    引出问题 首先我们来这么一个问题, 这里是完整的 jsfiddle demo or codepen demo 给一个元素绑定两个边框样式, 右侧和底部都为1px的红色边框 styleA: { bord ...

  7. 【hihocoder 1303】模线性方程组

    [题目链接]:http://hihocoder.com/problemset/problem/1303 [题意] [题解] /* x % m[1] = r[1] x % m[2] = r[2] x = ...

  8. 计算机网络系统--常用DOS命令

    01.名称:md 用法:md “文件夹名” 用处:批量建立文件夹 02.关机命令 shutdown At 18:00 shutdown –s      18:00关机 shutdown -s -t 3 ...

  9. A server is already running. Check tmp/pids/server.pid.

    A server is already running. Check  tmp/pids/server.pid. 把server.pid删除: 学习了: http://stackoverflow.co ...

  10. 结束QQ即时通信垄断,开辟即时通信互联互通instantnet时代

    结束QQ即时通信垄断,开辟即时通信互联互通instantnet时代 蓬勃发展的即时通信产业 即时通信(IM)是指可以即时发送和接收互联网消息等的业务. 即时通信.就是瞬间把信息发送给对方,假设不是即时 ...