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 >> ... 
随机推荐
- tcp为什么要三次握手
			作者:大闲人柴毛毛链接:https://www.zhihu.com/question/24853633/answer/254224088来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ... 
- zhizhang错误(每天更新更新)
			做题反思(Think twice ,Code once) 1.2013NOIP转圈游戏,交代码前一定要静态查错,看看代码写得和自己意思一不一样,竟然把变量n写成了常数10,低级错误 2.2013NOI ... 
- 韦东山ARM裸机笔记(1)
			1.一个嵌入式Linux系统的软件组成:单片机大全Bootloader-->Linux驱动-->Linux APP-->Linux GUI(Android/QT) 2.驱动程序=软件 ... 
- Python爬虫之『urlopen』
			本文以爬取百度首页为示例来学习,python版本为python3.6.7,完整代码会在文章末附上 本次学习所用到的python框架:urllib.request 本次学习所用到的函数: urllib. ... 
- tomcat日志配置之一自带log
			问题 tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多: localhost.2012-07-05.txt catalina.2012- ... 
- matlab 构建数据集实用 api
			我们当前有如下目录结构的图像数据集(用于图像分类): 1. imageDatastore imageDatastore:imds = imageDatastore('./images', 'Inclu ... 
- STM32介绍以及与通常ARM的区别
			ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核----ARM系列,最常用的是ARM7和ARM9,ARM公司主要提供IP核,就是CPU的内核结构,只包括最核心的部分,并不是完整的处理器 ... 
- C#解析HTML源码
			刚做了一个小任务,需要抓取其他网站的部分数据,这里就顺便介绍使用Winista.Text.HtmlParser这个类库如何解析HTML并抓取部分数据 1.获取指定网站的页面源码 string url ... 
- less中混合
			@charset "UTF-8"; //1 普通混合 //2 不带输出的混合:加() .font_hx(){ font-size: 28px; color: red; } h1{ ... 
- js面向对象3-继承
			一.了解继承 首先我们一起了解下js中继承,其实继承就是后辈继承前辈的属性和方法. 二.继承的方法 从父类继承属性和方法 这是对象冒充的方法,模仿java的继承方法.实现的原理是,通过改变父类的执行 ... 
