题目名是为了照应3天的倒计时(我才不会说是因为我考场又摸鱼了)
在OJ上得到了295的好成绩,但是本地评测没有O2掉了10分。
总体来说还可以。T1全场切,T2半场切,T3纯暴力不卡常都有95。。。
又是AK场,做的不够好。
如上所述,有点摸鱼了。但是T3说是原题。。。正解的思想的确也想不到。。。
啊,总之,还有3天,加油吧!
这一场是Day1,和明天一起记分,和前面比起来还是落后了一些,Day2加油吧
T1:最大或
半结论题,很好想。
首先对于lr相同的部分最后的答案也一定与之相同。
最高的不同位,两个数分别取1/0,然后后面的位数都取0/1,这就是最优决策。
1 #include<cstdio> 2 int main(){ 3 freopen("maxor.in","r",stdin);freopen("maxor.out","w",stdout); 4 int t;long long l,r,ans; 5 scanf("%d",&t); 6 while(t--){ans=0; 7 scanf("%lld%lld",&l,&r); 8 for(int i=59;~i;--i) 9 if((l&1ll<<i)==(r&1ll<<i))ans|=l&1ll<<i; 10 else {ans+=(1ll<<i+1)-1;break;} 11 printf("%lld\n",ans); 12 } 13 }