zoukankan      html  css  js  c++  java
  • 【规律】我有一个梦想

    【小结】:

      其实我做过CF原题,其实我也知道这个题目怎么做,但是!!!!我恨自己傻逼,真的没想到有n=2,k=3,这组特例,我一句话都不想说,我看了题解,加了一行代码就过了。我真的佩服自己傻逼。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int N = 100;
     5 ll a[N],sum[N];
     6 int main()
     7 {
     8     int T;
     9     ll n,k ;
    10     for(int i=1;i<=61;i++){
    11         a[i] = a[i-1]<<1 | 1 ;
    12         sum[i] = sum[i-1] + a[i] ;
    13     }
    14     for( scanf("%d",&T) ; T ; T-- ) {
    15         scanf("%lld%lld",&n,&k);
    16         if( n==2 && k ==3 ){
    17             printf("No
    ");
    18             continue;
    19         }
    20         if( n < 32 ){
    21             ll Maxz = (( 1ll << (2*n) )-1ll)/3ll;
    22             if( k > Maxz ){
    23                 printf("No
    ");continue;
    24             }
    25         }
    26         for(ll i=61;i>=0;i--){
    27             if( k>=sum[i] ){
    28                 printf("Yes %lld
    ",max(n-i,0ll));
    29                 break;
    30             }
    31         }
    32     }
    33     return 0;
    34 }
    View Code
  • 相关阅读:
    监听器
    过滤器
    连接池与分页
    jdbc优化
    jdbc入门
    web开发mysql基础
    自定义标签
    jsp基础
    会话管理入门
    19. Remove Nth Node From End of List C++删除链表的倒数第N个节点
  • 原文地址:https://www.cnblogs.com/Osea/p/11272774.html
Copyright © 2011-2022 走看看