5573  Binary Tree(构造)

题意:给你一个二叉树,根节点为1,子节点为父节点的2倍和2倍+1,从根节点开始依次向下走k层,问如何走使得将路径上的数进行加减最终结果得到n。

联想到二进制。

思路和这个差不多吧:http://blog.csdn.net/u013068502/article/details/50094561

#include <set>
#include <queue>
#include <cstdio>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
#define mem(x,y) memset(x, y, sizeof(x))
#define lson l,m,rt << 1
#define rson m+1,r,rt << 1 | 1
 ? a : gcd(b, a % b);}
int lcm(int a, int b){return a / gcd(a, b) * b;}
int main()
{
    int T;
    scanf("%d", &T);
    ; cas <= T; cas++)
    {
        ;
        scanf("%d%d", &n, &k);
         == )
        {
             n--;
             flag = ;
        }
        LL all = ( << (k + )) - ;
        LL res = (all - n) >> ;
        printf("Case #%d:\n", cas);
        ; i < k; i++)
        {
            LL temp =  << i;
            )) printf( : temp);
            ) printf("%I64d -\n", temp);
            else printf("%I64d +\n", temp);
            res >>= ;
        }
    }
    ;
}            

5578  Friendship of Frog

题意:给你一个字符串,找最近的相同字符

 #include <set>
 #include <cmath>
 #include <queue>
 #include <cstdio>
 #include <vector>
 #include <cstring>
 #include <algorithm>
 using namespace std;
 typedef long long LL;
 #define mem(x,y) memset(x, y, sizeof(x))
 #define lson l,m,rt << 1
 #define rson m+1,r,rt << 1 | 1
  ? a : gcd(b, a % b);}
 int lcm(int a, int b){return a / gcd(a, b) * b;}
 const int INF = 0x3f3f3f3f;
 ];
 int main()
 {
     int T;
     scanf("%d", &T);
     getchar();
     ; cas <= T; cas++)
     {
         scanf("%s", s);
         int len = strlen(s);
         int ans = INF;
         ; i < len; i++)
         {
             ; j < len; j++)
             {
                 if(s[i] == s[j])
                 {
                     ans = min(ans, abs(i - j));
                 }
             }
         }
         printf( : ans);
     }
     ;
 }

5583  Kingdom of Black and White

题意:给你一个01字符串,要求最多改变一个字符(即0->1或1->0),使相邻相同字符的平方和最大

漏了考虑,改变中间一个区间之后,两个到三个区间变成相同字符的情况。WA了。

 #include <set>
 #include <cmath>
 #include <queue>
 #include <cstdio>
 #include <vector>
 #include <cstring>
 #include <algorithm>
 using namespace std;
 typedef long long LL;
 #define mem(x,y) memset(x, y, sizeof(x))
 #define lson l,m,rt << 1
 #define rson m+1,r,rt << 1 | 1
  ? a : gcd(b, a % b);}
 int lcm(int a, int b){return a / gcd(a, b) * b;}
 ;
 int s[maxn];
 LL len[maxn];
 int main()
 {
     int T;
     scanf("%d", &T);
     getchar();
     ; cas <= T; cas++)
     {
         mem(s, -);
         char ch;
         ;
         while(~scanf("%c", &ch))
         {
             if(ch == '\n') break;
             s[slen++] = ch - ';
         }
         , cur = , cnt = ;
         while(cur <= slen)
         {
             ])
             {
                 len[cnt++] = cur - temp;
                 temp = cur;
             }
             cur++;
         }
         LL ans = ;
         ; i < cnt; i++)
         {
             ans += len[i] * len[i];
         }
         LL rec = ans;
         ; i < cnt; i++)
         {
             ) break;
             ] ==  && i != )
             {
                 ans = max(ans,
                           rec - len[i - ] * len[i - ] - len[i - ] * len[i - ] - len[i] * len[i]
                           + (len[i - ] + len[i - ] + len[i]) * (len[i - ] + len[i - ] + len[i]));
             }
             ])
             {
                 ans = max(ans, rec +  * (len[i - ] - len[i] + ));
             }
             ])
             {
                 ans = max(ans, rec +  * (len[i] - len[i - ] + ));
             }
         }
         printf("Case #%d: %I64d\n", cas, ans);

     }
     ;
 }

5584  LCM Walk(数学推导)

题意:有一只青蛙,它从起点(x,y)出发,每次它会走  LCM(x,y)  步到达点  (x+LCM(x,y),y)  或点  (x,y+LCM(x,y))  ,最终,它会到达点(ex,ey),现给你终点(ex,ey),要你求出它的起点有多少种可能。

 #include <set>
 #include <cmath>
 #include <queue>
 #include <cstdio>
 #include <vector>
 #include <cstring>
 #include <algorithm>
 using namespace std;
 typedef long long LL;
 #define mem(x,y) memset(x, y, sizeof(x))
 #define lson l,m,rt << 1
 #define rson m+1,r,rt << 1 | 1
  ? a : gcd(b, a % b);}
 int lcm(int a, int b){return a / gcd(a, b) * b;}
 ;

 int main()
 {
     int T, fx, fy;
     scanf("%d", &T);
     ; cas <= T; cas++)
     {
         scanf("%d%d", &fx, &fy);
         LL ans = ;
         )
         {
             int g = gcd(fx, fy);
             if(fy > fx) swap(fx, fy);
             ) break;
             int m1 = fx / (fy + g);
             int m2 = fy / g;
             fx = m1 * g;
             fy = m2 * g;
             ans++;
         }
         printf();
     }
     ;
 } 

2015ACM/ICPC亚洲区上海站的更多相关文章

  1. HDU-5583-Kingdom of Black and White(2015ACM/ICPC亚洲区上海站-重现赛)

    Kingdom of Black and White                                                                           ...

  2. (HDU 5558) 2015ACM/ICPC亚洲区合肥站---Alice's Classified Message(后缀数组)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5558 Problem Description Alice wants to send a classi ...

  3. 2015ACM/ICPC亚洲区长春站 L hdu 5538 House Building

    House Building Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  4. 2015ACM/ICPC亚洲区长春站 J hdu 5536 Chip Factory

    Chip Factory Time Limit: 18000/9000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)T ...

  5. 2015ACM/ICPC亚洲区长春站 H hdu 5534 Partial Tree

    Partial Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)To ...

  6. 2015ACM/ICPC亚洲区长春站 G hdu 5533 Dancing Stars on Me

    Dancing Stars on Me Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  7. 2015ACM/ICPC亚洲区长春站 F hdu 5533 Almost Sorted Array

    Almost Sorted Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  8. 2015ACM/ICPC亚洲区长春站 E hdu 5531 Rebuild

    Rebuild Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total S ...

  9. 2015ACM/ICPC亚洲区长春站 B hdu 5528 Count a * b

    Count a * b Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Tot ...

随机推荐

  1. SNMP Message Format - SNMP Tutorial

    30.10 SNMP Message Format Unlike most TCP/IP protocols, SNMP messages do not have fixed fields. Inst ...

  2. web service 学习

    是什么? 是一种远程调用技术,这种技术提供一些接口,这些接口实现让客户端和服务端进行通信和数据交换,并且让通信和交换与平台和开发语言无关.也可以说是提供了许多函数.客户端调用服务端的函数. 远程调用: ...

  3. 概率论与数理统计图解.tex

    \documentclass[UTF8,a1paper,landscape]{ctexart} \usepackage{tikz} \usepackage{amsmath} \usepackage{a ...

  4. %我的 tex 模版

    %我的 tex 模版 \documentclass[UTF8,a1paper,landscape]{ctexart}%UTF8 中文支持,a1paper 纸张大小,landscape 横向版面,cte ...

  5. java ssh 框架下 利用junit4 spring-test进行单元测试

    ssh框架下  由于bean实列 都交给spring 管理,要做单元测试就比较苦难,junit4 引入注解方便很多: 1. 加入依赖包 使用Spring的测试框架需要加入以下依赖包: JUnit 4 ...

  6. SessionState

    SqlServer方式:1.创建数据库的方法:C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regsql -ssadd -sstype ...

  7. (zz)linux awk

    博文转载自http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 谢谢原作者.条理很清楚,由浅入深.敲了每一行命令,正确无误. ...

  8. Effective Java Second Edition --- Builder Pattern

    如果类的构造器或者静态工厂中有多个参数,设计这种类时,Builder模式是一种不错的选择,特别是当大多数参数是可选的时候. 与使用传统的重载构造函数模式相比,使用Builder模式的客户端代码更易于阅 ...

  9. PHP变量入门教程(2)超全局变量,总共9个

    PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量.该数组的键标为全局变量的 名称.从 PHP 3 开始存在 $GLOBALS 数组. $_SERVER 变量由 ...

  10. 我爱模仿app之格瓦拉客户端

    最近有很多人问我,这个效果该怎么实现,那个功能该怎么实现.所以我准备开个专题,找一些app模仿,写一些示例代码,以供大家参考. 第一个下手的就是格瓦拉,没用过的可以下载看看,效果做的还是可以的,专场, ...