有没有人能解释一下啊,那么多题解为啥没人解释这个地方啊

P2114 [NOI2014] 起床困难综合症

### ~~这段话其实很好理解~~ 1. $(1<<i)$ 怎么理解 ```cpp << 位进制运算 举个栗子来说: 1<<1 = 2 1<<2 = 4 1<<3 = 8 也就是说: ``` $1<<n = 2^n$ 2. $M-=1<<i$ 怎么理解 其实懂了上面的你也懂了: 简化:$M=M-(2^i)$ 3. $bool1$ & ( $1<<i$ ) 怎么理解 若该表达式为真,则bool返回值为1 反之返回0 ### 那么,整个表达式的意思就是: else if(M>=(1<<i)&&(bool1&(1<<i))) { M-=1<<i; ans+=1<<i; } 若 $M>=2^i$ 并且 $bool1$ & $(2^n)$ 为真的话, $M=M-(2^i)$ $ans=ans+2^i$ ### 自己理解吧!
by shaoziqi @ 2022-01-23 14:32:37


@[shaoziqi](/user/562804) 怎么硕呢,你说的这些东西我都知道,我想知道他表达的意思,不过我现在差不多都懂了,感谢回答!
by killer_queen4804 @ 2022-01-23 15:28:03


|