进制处理
丶聂小白
这个作者很懒,什么都没留下…
展开
-
HDU-5014 Number Sequence 最大异或和
每个数想要得到最大的异或值,就肯定是在二进制上是互补的,所以暴力找出互补的数。#include #include #include #include #include #include #define LL long longusing namespace std;int a[110000];int n;int link[110000];int bit(int n){原创 2014-09-15 17:15:53 · 876 阅读 · 0 评论 -
HDU-5045 Contest 状态压缩DP求期望
N个人,M道题,M个小时,每个人做一道题需要1个小时。给出一个N*M的矩阵代表每个人做对每道题的概率。然后要求在任何时刻,任意两个人的敲题时间差不能大于1,也就是说,m道题要分成多段长度为n的最优排列,n为10,2^10=1024 1024*1000 状压即可。#include #include #include #include #include #include #inclu原创 2014-09-27 20:04:40 · 974 阅读 · 0 评论 -
快速幂运算
一般我们求幂运算常用pow()函数,或者写个for循环做累乘,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn)。假设要求a^b,可以把b拆成二进制的,该二进制数第i位的权为2^(i-1),例如当b=11(这里是10进制)时,11的二进制是1011,a^11=a^(2^0+2^1+2^3)= a^(2^0)*a^(2^1)*a^(2^3),也就是只需要算三次就可以得出结果,...原创 2018-04-18 16:18:15 · 253 阅读 · 0 评论