题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5375

编码规则:tmp = XOR(gr[i],gr[i-1]);

算是找规律的题目吧,考虑?前后字符和?数目的奇偶性就可以了,一个小trick就是当碰到需要减的时候是减问号区间内最小的那个,

然后就是调试的问题:

字符串从数组第二位开始存放,scanf("%s",s+1);

当用到min和max的时候记得每次使用前要清空。

 #include<stdio.h>
 ;
 int XOR( char a, char b){
     int aa, bb;
     aa = a - ';
     bb = b - ';
     return aa^bb;
 }
 int main(){
     char gr[MAXN];
     int num[MAXN];
     int _min;           int T, N;
     int tmp;            int cnt, sum;
     ;
     scanf("%d",&T);
     while(T--){
         scanf();
         gr[] = ';
         cnt = ; sum = ; N = ;_min = ;
         while( gr[N] != '\0')
             N++;
         ; i < N; ++i){
             scanf("%d",&num[i]);
         }
         gr[N]=';
         num[N] = ;
         N++;
         ; i < N; ++i){
             if( gr[i] != '?'){
                 tmp = XOR(gr[i],gr[i-]);
                 if(tmp){
                     sum += num[i];
                 }
             }
             else{
                 cnt = ;
                 lft = gr[i-];
                 for(;i<N;++i){
                     if(gr[i] != '?'){
                         if( num[i] < _min )
                             _min = num[i];
                         sum += num[i];
                         break;
                     }
                     else{
                         cnt++;
                         sum += num[i];
                         if( num[i] < _min )
                             _min = num[i];
                     }
                 }
                 rgt = gr[i];
                  == ))||( (lft == rgt) && (cnt %  == ) )){
                     sum = sum - _min;
                 }
                 _min = ;
             }
         }
         printf("Case #%d: %d\n",++TT,sum);
     }
 }

hdoj 5375 Gray Code的更多相关文章

  1. 递推DP HDOJ 5375 Gray code

    题目传送门 /* 题意:给一个串,只能是0,1,?(0/1).计算格雷码方法:当前值与前一个值异或,若为1,可以累加a[i],问最大累加值 DP:dp[i][0/1]表示当前第i位选择0/1时的最大分 ...

  2. HDU 5375 Gray code (简单dp)

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

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

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

  4. 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 ...

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

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

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

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

  7. HDU 5375 Gray code 格雷码(水题)

    题意:给一个二进制数(包含3种符号:'0'  '1'  '?'  ,问号可随意 ),要求将其转成格雷码,给一个序列a,若转成的格雷码第i位为1,则得分+a[i].求填充问号使得得分最多. 思路:如果了 ...

  8. HDU 5375 Gray code

    题意:给出一个二进制数,其中有些位的数字不确定,对于所有对应的格雷码,与一个序列a对应,第i位数字为1时得分a[i],求最大的得分. 解法:一个二进制数x对应的格雷码为x ^ (x >> ...

  9. hdu 5375 Gray code 【 dp 】

    dp[i][j]表示第i位取j的时候取得的最大的分数 然后分s[i]是不是问号,s[i-1]是不是问号这大的四种情况讨论 #include<cstdio> #include<cstr ...

随机推荐

  1. erl_0013 erlang 带参数模块 parameterized modules are no longer supported

    code: -module(mod_test, [Name]). -export([show/0]). show() -> io:format("show:~p~n",[Na ...

  2. 利用ICSharpCode.SharpZipLib.Zip进行文件压缩

    官网http://www.icsharpcode.net/ 支持文件和字符压缩. 创建全新的压缩包 第一步,创建压缩包 using ICSharpCode.SharpZipLib.Zip; ZipOu ...

  3. ODBC访问不到Server的问题

    安装了ODBC-MYSQL的配置以后,发现在测试连接Mysql服务器的时候,一直访问不通, 经过测试发现,安装ODBC的PC(windows 8.1 )上的防火墙阻止了连接,最终确认需要 把虚拟机监控 ...

  4. Oracle buffer cache与相关的latch等待事件

    buffer cache与相关的latch等待事件 1.buffer cache 2.latch:cache buffers lru chain 3.latch:cache buffers chain ...

  5. Java中sychronized方法与sychronized块区别

    一.举几个栗子

  6. [Android] 关于系统工具栏和全屏沉浸模式

    随着应用程序的一些深入设计,大家总想要更好的界面和体验,所以有些东西并不能只是知道方法就结束了,是得要去深入研究研究的.通过这个过程我觉得,从应用层面来讲,想实现一个功能很简单,但若想实现的好,就要去 ...

  7. Eclipse将android项目打包jar文件

    Eclipse+android打包jar文件 蔡建良 2016-3-12 以Android-SlideExpandableListView开源框架为例,将源码Library打包成jar文件并包含R.c ...

  8. JSTL(fn函数)

    JSTL(fn函数) 首先,我们要在页面的最上方引用: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/js ...

  9. LR之Java虚拟用户

    1.认识Java虚拟用户 2.Java虚拟用户的适用范围

  10. windows下django1.7 +python3.4.2搭建记录2

    1.自定义页面写一个显示当前时间的页面views.py文件加一个使用模板的模块,整体内容为: #coding=utf-8 from django.shortcuts import render fro ...