Bestcoder Round #84

时间:2024-05-02 00:06:45

A题  Aaronson

http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=718&pid=1001

感觉一开始写的这个不好,太冗余了。

 #include <cstdio>
 int main()
 {
     int n,m;
     int t;
     while(~scanf("%d",&t))
     {
         while(t--)
         {
             scanf("%d%d",&n,&m);
             )
             {
                 printf("%d\n",n);
                 continue;
             }
             ) m=;
             ;
             )
             {
                 <<m))//不小心会写成if,wa。其实直接除就好了,这样反而冗余的一塌糊涂
                 {
                     n = n-(<<m);
                     sum++;
                 }
                 m--;
             }
             printf("%d\n",sum);
         }
     }

     ;
 }

写这个题解的时候,重新写了一遍

 #include <cstdio>
 #include <algorithm>
 using namespace std;
 int main()
 {
     int n,m;
     int t;
     while(~scanf("%d",&t))
     {
         while(t--)
         {
             scanf("%d%d",&n,&m);
              << ( min(m, ) );
             ;
             while(n)
             {
                 sum += n / d;
                 n -= n / d * d;
                 d >> ;
             }
             printf("%d\n",sum);
         }
     }
     ;
 }

B题

http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=718&pid=1002

LIS最基础的模板题,题意别读错了就行,它题目描述的第三行是用来解释什么叫做字典序小的序列,它第三行提到的a b序列和上面题干的a b序列无关 2333  我一开始没懂,还以为怎么矛盾了呢。

 #include <cstdio>
 #include <algorithm>
 using namespace std;
 +];
 const int INF = 0x3f3f3f3f;
 +];
 void show(int n)
 {
     ;i<n;i++)
         printf("dp[%d]=%d\n",i,dp[i]);
 }
 int main()
 {
     int t;
     while(~scanf("%d",&t))
     {
         while(t--)
         {
             int n;
             scanf("%d",&n);
             ;i<n;i++)
                 scanf("%d",&a[i]);
                 ;i<n;i++) dp[i] = INF;
             ;
             ;i<n;i++)
             {
                 *lower_bound(dp,dp+n,a[i]) = a[i];
                 len = lower_bound(dp,dp+n,a[i]) - dp+;
                 ) printf(" ");
                 printf("%d",len);
             }
             printf("\n");
         }
     }
     ;
 }