hdu 5375 Gray code dp
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int N=200000+5;
const int inf=1<<24;
int dp[N][2],a[N];
char s[2*N];
int main()
{
int n,m,i,_;
scanf("%d",&_);
for(int k=1;k<=_;k++)
{
scanf("%s",s);
n=strlen(s);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
dp[0][0]=dp[0][1]=-inf;
if(s[0]=='0'||s[0]=='?')
dp[0][0]=0;
if(s[0]=='1'||s[0]=='?')
dp[0][1]=a[0];
for(i=1;i<n;i++)
{
dp[i][0]=dp[i][1]=-inf;
if(s[i]=='0'||s[i]=='?
')
dp[i][0]=max(dp[i-1][0],dp[i-1][1]+a[i]);
if(s[i]=='1'||s[i]=='?')
dp[i][1]=max(dp[i-1][1],dp[i-1][0]+a[i]);
}
printf("Case #%d: %d\n",k,max(dp[n-1][0],dp[n-1][1]));
}
return 0;
}hdu 5375 Gray code dp的更多相关文章
- HDU 5375 Gray code (简单dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5375 题面: Gray code Time Limit: 2000/1000 MS (Java/Oth ...
- HDU 5375——Gray code——————【dp||讨论】
Gray code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- hdu 5375 - Gray code(dp) 解题报告
Gray code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
- 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 ...
- HDU 5375 Gray code(2015年多校联合 动态规划)
题目连接 : 传送门 题意: 给定一个长度为的二进制串和一个长度为n的序列a[],我们能够依据这个二进制串得到它的Gray code. Gray code中假设第i项为1的话那么我们就能够得到a[i] ...
- hdu 5375 Gray code 【 dp 】
dp[i][j]表示第i位取j的时候取得的最大的分数 然后分s[i]是不是问号,s[i-1]是不是问号这大的四种情况讨论 #include<cstdio> #include<cstr ...
- HDU 5375 Gray code(DP)
题意:给一串字符串,里面可能出现0,1,?,当中问号可能为0或1,将这个二进制转换为格雷码后,格雷码的每位有一个权值,当格雷码位取1时.加上该位权值,求最大权值和为多少. 分析:比赛的时候愚了.竟然以 ...
- HDU 5375 Gray code 格雷码(水题)
题意:给一个二进制数(包含3种符号:'0' '1' '?' ,问号可随意 ),要求将其转成格雷码,给一个序列a,若转成的格雷码第i位为1,则得分+a[i].求填充问号使得得分最多. 思路:如果了 ...
- HDU 5375 Gray code
题意:给出一个二进制数,其中有些位的数字不确定,对于所有对应的格雷码,与一个序列a对应,第i位数字为1时得分a[i],求最大的得分. 解法:一个二进制数x对应的格雷码为x ^ (x >> ...
随机推荐
- 44.Node.js Express 框架--web框架
转自:http://www.runoob.com/nodejs/nodejs-express-framework.html Express 简介 Express 是一个简洁而灵活的 node.js W ...
- MyEclipse下怎么配置Maven
这个很简单. 前期博客,请移步: Eclipse下Maven新建项目.自动打依赖jar包(包含普通项目和Web项目) 截图示范:
- IBM Tivoli Netview在企业网络管理中的实践(附视频)
今天我为大家介绍的一款高端网管软件名叫IBM Tivoli NetView,他主要关注是IBM整理解决方案的用户,分为Unix平台和Windwos平台两种,这里视频演示的是基于Windows 2003 ...
- 图形界面备份Linux系统介绍
详情见: http://os.51cto.com/art/200905/125680.htm 虽然Linux 是一个高度可靠的操作系统,但对于现在复杂的internet环境下, ...
- mvc的个别对输入数据的验证
一.手工验证绑定的参数 二.使用ValidationAttribute特性 三.让数据类型实现IValidatableObject接口 四.让数据类型实现IDataErrorInfo接口 http:/ ...
- bash命令集---文件的操作
git bash命令集: clear:清除窗口中的内容 ls touch cat more head tail mv cp rm diff chmod gzip gunzip gzcat lpr lp ...
- idea 生成方法注释的快捷键
我用的15,在keymap里搜索 Fix doc comment 给他一个快捷建.参考 http://www.oschina.net/question/179541_26961
- javascript 获取HTML DOM父,子,临近节点
在Web应用程序特别是Web2.0程序开发中.常常要获取页面中某个元素,然后更新该元素的样式.内容等.怎样获取要更新的元素,是首先要解决的问题.令人欣慰的是,使用JavaScript获取节点的方法有非 ...
- js10---call方法总结
<html> <body> <script type="text/javascript"> function Obj(x, y){ this.x ...
- java语言建立顺序表
package datastructure; //线性表 public interface IList { public void clear(); public boolean isEmpty(); ...