[考试反思]1111csp-s模拟测试110:三思

题目名是为了照应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 }
这题有代码?

相关文章: