题目链接: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. mac 安装使用 webp 来压缩图片

    学习性网站: https://developers.google.com/speed/webp/docs/cwebp http://www.w3ctech.com//topic/1672 https: ...

  2. js的for in具有不适应性(转)

    js中for in 可以遍历对象或数组的显性属性,也就是说我们自己定义的属性是可以遍历的,那些原型上默认已有的属性,例如:Object.prototype.toString.Object.protot ...

  3. 纵观minecraft 游戏作者的世界观

    minecraft 这款游戏 独特的游戏背景 与 模式 深受我爱 ,游戏的音乐制作方面也是独具一格 但是 整个游戏的风气 充满孤独的色彩 抑郁惆怅的音乐 每当在日出时 响起 ,当你进入生存模式之后 开 ...

  4. 最冤枉的关键字----sizeof

    <h4>一.常年被人误认为函数.</h4> sizeof 是关键字不是函数,其实就算不知道它是否为32 个关键字之一时,我们也可以借助编译器确定它的身份.看下面的例子: int ...

  5. mysql同步 小问题

    由于历史遗留问题,我们的MySQL主从库的表结构不一致,主库的某个表tableA比从库表tableA少了一个字段. 当尝试在主库上更改表结构时,这行alter语句会随着binlog同步到从库,如果从库 ...

  6. window 7 下一台cp 两个mysql 配置主从

    环境 : 个人 pc windows7 一台 ; 使用 : 官方下载: mysql-noinstall-5.5.11-win32.zip 1. 解压 成2个 (文件夹) mysql_master (主 ...

  7. 组合 z

    输入a b c d e以及它们对应的数字 比如 a-->1 2 3  b-->2 3 c-->1 d-->3 4 5 e-->1 3 5 输出a b c d e的可用组合 ...

  8. winform 防止多開

    場景: 當我們的電腦可以使用多用戶同時登錄時候,每個使用者只允許執行一次exe程式. 例如:一台公用電腦,有多個用戶A.B. 當用戶A進入系統第一次運行C:\XX.exe,OK.第二次運行XX.exe ...

  9. a different object with the same identifier value was already associated with **(ssh异常转)

      Hibernate:a different object with the same identifier value was already associated with ...异常解决 今天 ...

  10. Raspberry Pi3 ~ 配置网络

    Rpi3 有两个网卡 一个无线wlan 一个有线 eth0 无线的只需要在右上角的那个配置里面添加就行 有线的需要设置下静态IP.dns.等 在raspbain图形化界面里面 设置 Network P ...