网上很多帖子写这个问题,看了下方法基本上是以下两种:爆破、按位统计,但是按位统计都写了很长的统计过程,其实就是一个动态规划的过程f(n) = f(n/10) * 10 + n/10 + 1 当n%10 != 0 时,否则为f(n) = f(n/10) * 10 + n/10下面解释下第一种情况(后面...
分类:
其他好文 时间:
2014-07-22 22:50:57
阅读次数:
140
计算机二进制二进制的最高位时符号位:0表示正数,1表示负数正数的原码,反码,补码都一样负数的反码=它的原码符号位不变,其它位取反负数的补码=它的反码+10的反码,补码都是0java中的数都是有符号的在计算机运算的时候,都是以补码的方式来运算的。java中有4中位运算,分别是按位与&,按位或|,按位异...
分类:
其他好文 时间:
2014-07-22 22:49:53
阅读次数:
204
补码: ????正数的补码:正数的补码就是原码本身 ????????例如:4的补码,转换成2进制原码:00000100,补码和原码相同,也就是:00000100 ????负数的补码:符号位为1,其他位为该数值的原码按位取...
分类:
其他好文 时间:
2014-07-22 22:37:54
阅读次数:
241
状态压缩其实刚开始没看懂为什么要用位运算后来看了别人的注释逐渐明白我也加上注释吧 1 #include 2 using namespace std; 3 4 long long Prime[50];//存放N的质因子 5 6 7 long long getNonCoPrime(long lo...
分类:
其他好文 时间:
2014-07-22 00:05:36
阅读次数:
226
题解:首先,这道题可以用位运算来表示每一行的状态,同八皇后的搜索方法,然后对于限制条件不相互攻击,则只需将新加入的一行左右移动与上一行相&,若是0则互不攻击,方案可行。对于每种方案,则用递推来统计,将前一排所有可以的情况全部加上即可。bit数组记录每个数字二进制位中1的个数,方便计算。if(chec...
分类:
其他好文 时间:
2014-07-21 09:35:58
阅读次数:
184
最短路变形。
题意是说不同的点之间有不同的公司建立了不同连接。
询问 A,B之间如果存在通路,有那些公司。
我用bool g[][][26] 来表示26个字母。然后Floyd, G++就超时。C++ 就AC了。
然后看别人代码才知道还有位运算……ORZ。。。
自己的代码:C++ AC。813ms
#include
#include
#inclu...
分类:
Web程序 时间:
2014-07-19 23:47:19
阅读次数:
353
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123输出样例:321 1 #include 2 3 int main() 4 { .....
分类:
其他好文 时间:
2014-07-19 18:17:48
阅读次数:
169
这个LED音乐频谱是我在学51单片机的时候做的一个小项目。今天再看此代码仍有很多不规范之处,但由于硬件已经送人,没法继续调试,希望小伙伴们引以为戒。写此文主要是想让大家知道其中的原理,知道怎么做固然重要,更重要的是知道为什么要这样做。...
分类:
其他好文 时间:
2014-07-19 02:46:45
阅读次数:
267
疯狂的暑假学习之 汇编入门学习笔记 (十)—— 标志寄存器
参考: 《汇编语言》 王爽 第11章
CPU内部有一种特殊的寄存器叫标志寄存器(flag),它与ax,bx,cx等其他寄存器不同,它不是用来存放数据的,而是用来存放状态的。flag寄存器是按位器作用的,即只有0和1。...
分类:
其他好文 时间:
2014-07-19 02:14:55
阅读次数:
256
逻辑运算符
优先级: ! >> && >> ||
短路规则:
|| 从左向右开始计算,当遇到为真条件时停止计算, 整个表达式为真;所有条件为假时,表达式为假
&& 从左向右开始计算,当遇到为假条件时停止计算, 整个表达式为假;所有条件为真时,表达式为真
C中逻辑符 !只认得0,见了0就返回1.
当其作用...
分类:
其他好文 时间:
2014-07-17 20:18:39
阅读次数:
294