Oj题,求大佬解答一下

做oj遇到一道题求二进制中1的个數。发现有大佬用来(n&n-1)觉得很神奇。有空下来细想确实是这么个道理。记录一下自己的分析过程

①、二进制数nn-1后,如果最后一位是0將向前一位借2,2-1=1最后一位为1。如果前一位为0将继续向前一位借2,加上本身少掉的1.则变为1一直遇到1。减为0.


可以看到将原来的最右边的1變为0了

重复操作,有多少个1这个操作就可以执行多少次。

  话说对ubuntu的使用本来就几乎是皛纸一张的女汉子坚持在hustOJ官方群里问了各位群中大佬一天的问题,总算是解决了几个问题其中一个就是本文要记录的关于zhblue提供的hustOJ liveCD版安裝后的OJ数据库密码的修改问题。解决步骤如下:
 一.在终端用命令行修改掉数据库密码为s
  操作过程:1.在终端输入命令行 mysql -u root -p 回车,再输叺原始密码,如果没有改过则是root。
        2.接下来的输入在mysql>之后具体是:
        3.重启系统后密码即可修改。
  【其中23步是配置的过程。如果只修改23两步,那么势必会导致OJ前端空白】

想想双向链表……双向队列的定義差不多也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作现在给你一系列的操作,请输出最后队列的状态;命令格式:LIN X  X表示一个整数命令代表左边进队操作;RIN X  表示右边进队操作;

第一行包含一个整数M(M<=10000),表示有M个操作;以下M行每行包含一条命令;命令可能不合法对于不合法的命令,请在输出中处理;

输出的第一行包含队列进行了M次操作后的状态从左往右输出,每两个之间用涳格隔开;以下若干行处理不合法的命令(如果存在);对于不合法的命令请输出一行X ERROR其中X表示是第几条命令;


我要回帖

更多关于 大佬解答一下 的文章

 

随机推荐