为什么一定要从最高位开始枚举啊?

P2114 [NOI2014] 起床困难综合症

因为异或之后的最高位可能超过m的最高位
by __hacker__ @ 2022-07-23 22:55:45


因为在答案中10000,一定比01111大。这意味着高位为1要比低位为1更有用。那么若从低位枚举,会一直消耗m。从低到高枚举到第i位时,若发现此时取1会导致数>m,则剩下的只能全取0,在这些位中可能有些位取1会导致答案的高位为1,结果因为取0而丢失了更优的高位1,这一切都是因为低位占据了m的一些空间,因此要从高位枚举到低位
by siusiu @ 2023-02-18 21:32:01


|