POJ 1781 In Danger Joseph环 位运算解法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 1781 In Danger Joseph环 位运算解法相关的知识,希望对你有一定的参考价值。
Joseph环,这次模固定是2.假设不是固定模2,那么一般时间效率是O(n)。可是这次由于固定模2,那么能够利用2的特殊性,把时间效率提高到O(1)。
规律能够看下图:
具体具体解析请看大师Knuth的Concrete mathematics。
补上纯粹利用位运算写的程序:
作者:靖心 http://blog.csdn.net/kenden23/article/details/30232645
int substraHighBit(int y) { int x = y; x = x | (x>>1); x = x | (x>>2); x = x | (x>>4); x = x | (x>>8); x = x | (x>>16); return y & (x >> 1); } #include <cstdio> int main() { int xy, z; char e; while (scanf("%d %c %d", &xy, &e, &z) && xy) { while (z--) xy = (xy << 3) + (xy << 1); printf("%d\n", substraHighBit(xy) << 1 | 1); } return 0; }
以上是关于POJ 1781 In Danger Joseph环 位运算解法的主要内容,如果未能解决你的问题,请参考以下文章