模板题:POJ 2352 Stars HDU1166 1 int lowbit(int x) 2 { 3 return x&(-x); 4 } 5 void update(int x,int val) 6 { 7 while(x0)17 {18 sum+=c[...
分类:
编程语言 时间:
2015-07-27 10:38:03
阅读次数:
125
树状数组求区间最值树状数组(Binary Index Tree)利用二进制的一些性质巧妙的划分区间,是一种编程,时间和空间上都十分理想的求区间和的算法,同样我们可以利用树状数组优美的区间划分方法来求一个序列的最值约定以 num[] 表示原数组, 以 idx[] 表示索引数组,Lowbit(x)=x&...
分类:
编程语言 时间:
2015-07-23 23:36:03
阅读次数:
284
lcs+dp 用树状数组维护 最大值 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define lowbit(a) ((a)&(-(a)))10 #define ...
分类:
其他好文 时间:
2015-07-23 00:34:24
阅读次数:
127
#include
#include
int lowbit(int x)
{
int z;
z = ~x;
z++;
return (x & z);
}
//测试
/*int main(void)
{
int n,t;
n = 50;
while(n)
{
t = lowbit(n);
printf("%d\n",t);
n -= t;
}
return 0;
}...
分类:
其他好文 时间:
2015-07-10 00:31:12
阅读次数:
103
题意:基础的二维数组,注意 0 + lowbit(0)会陷入无限循环-----之前做一道一维的一直tle,就是因为这个-------------------------- 1 #include 2 #include 3 #include 4 #include 5 #include 6 ...
分类:
编程语言 时间:
2015-06-27 22:33:25
阅读次数:
243
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5269 ,BestCoder Round #44的B题,关于字典树的应用。 比赛的时候没想出做法,现在补上。题解: 我们考虑,当lowbit(A xor B) = 2p时,A和B表示的二进制数的后...
分类:
其他好文 时间:
2015-06-19 20:14:59
阅读次数:
112
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5269思路分析:当lowbit(AxorB)=2p 时,表示A与B的二进制表示的0-p-1位相等,第p位不同;考虑维护一棵字母树,将所有数字转换为二进制形式并且从第0位开始插入树中,并在每个节点中记录通过...
分类:
其他好文 时间:
2015-06-16 07:59:37
阅读次数:
106
题意:给一个序列[a, a + n),求Σlowbit(ai, aj),i,j∈[0,n)。思路:lowbit与位有关,于是按位统计即可,如果lowbit=2^k,则前k位相同,前缀相同,于是想到用字典树来统计。12345678910111213141516171819202122232425262...
分类:
其他好文 时间:
2015-06-15 06:51:05
阅读次数:
110
Memphis loves xor very musch.Now he gets an array A.The length of A is n.Now he wants to know the sum of all (lowbit(Ai xor Aj)) (i,j∈[1,n])
We define that lowbit(x)=2k,k
is the smallest integer sa...
分类:
其他好文 时间:
2015-06-14 09:34:19
阅读次数:
150
这题采用分治的思想首先,根据最后一位是否为1,将数分为两个集合, 集合与集合之间的lowbit为1,然后将每个集合内的元素,倒数第二位是否为1,将数分为两个集合,集合与集合之间的lowbit为2以此类推。首先为什么要将数组进行排序,排序的规则是根据数字二进制数,从右到左,第一个不同的数字进行排序,0...
分类:
其他好文 时间:
2015-06-14 00:20:13
阅读次数:
197