随笔分类 - 位运算
摘要:#309. Mas的童年 链接 分析: 求$max \{sj + (s_i \oplus s_j)\}$ 因为$a + b = a \oplus b + (a \& b) \times 2$ 那么就是求一个j,使得$(s_i \oplus s_j) \& s_j$最大。 而“异或后再与”这两步运算合
阅读全文
摘要:5285: [Hnoi2018]寻宝游戏 链接 分析: 从下面依次确定运算符号,然后在确定的过程中,需要确定的位数会逐渐减少。比如最后有一个1,如果在从下往上确定了一个or 1,那么再往前可以随便选了。 那么就是要求从下往上,第一个出现的or 1要在and 0之前。如果将这一位上的每一个数字拿出来,
阅读全文
摘要:E. Mahmoud and Ehab and the xor-MST https://codeforces.com/contest/959/problem/E 分析: 每个点x应该和x ^ lowbit(x)连边,那么现在就是求$\sum_{i=1}^{n}lowbit(i)$,然后打表找规律。
阅读全文
摘要:Explosion http://acm.hdu.edu.cn/showproblem.php?pid=5036 题意: n扇门,每扇门里面有一些钥匙,一个钥匙可以打开一扇门,如果没有钥匙可以打开门,那么随机选择一扇门炸开。求期望炸多少次。 分析: bitset优化Floyd传递闭包。 根据期望的线
阅读全文
摘要:4503: 两个串 https://www.lydsy.com/JudgeOnline/problem.php?id=4503 题意: 求第二个串在第一个中出现了几次,用通配符。求出每个串的起始位置。 分析: bitset。 一共有26个字母,求出每个字母在第一个串中出现的位置。扫一遍第二个串,an
阅读全文
摘要:Regular Number http://acm.hdu.edu.cn/showproblem.php?pid=5972 题意: 给定一个字符串,求多少子串满足,子串的第i位,只能是给定的数(小于等于9)。 分析: Shift_and算法。bitset优化。 bitset<N>p[26]:p[c]
阅读全文
摘要:#1513 : 小Hi的烦恼 #1513 : 小Hi的烦恼 https://hihocoder.com/problemset/problem/1513 分析: bitset,五维数点问题。 记录每一科的第i名前面有那些人,最后&起来就行了。 代码; 复杂度$O(k n^2/64)$,k为维数。 分块
阅读全文
摘要:#1509 : 异或排序 http://hihocoder.com/problemset/problem/1509 分析: 如果a[i]和a[i+1]的相同的位,那么可以不用考虑了,找到它们第一个不同的位置,它限制了S的这个位置必须是多少。 最后答案就是没有限制的位的随便选。如果一个位限制了两次,且
阅读全文
摘要:4245: [ONTAK2015]OR-XOR https://www.lydsy.com/JudgeOnline/problem.php?id=4245
阅读全文
摘要:3668: [Noi2014]起床困难综合症 https://www.lydsy.com/JudgeOnline/problem.php?id=3668 分析: 每一位分开考虑。 算出每一位为1,计算完后是否产生贡献,每一位为0是否会产生贡献。 然后从高位考虑: 如果在某一步,可以比m小了,就是m这
阅读全文
摘要:3329: Xorequ https://www.lydsy.com/JudgeOnline/problem.php?id=3329 分析: 因为a+b = a^b + ((a&b)<<1) 所以(x&(2x))<<1是0,就是没有相邻的1。然后计算多少x满足没有相邻的1。 第一问:数位dp一下,d
阅读全文
摘要:3687: 简单题 Description 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。 目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把这个问题交给你,未来的集
阅读全文
摘要:函数最值 题目 给定一个n 个数的数组A,函数F(x) = a[i] * x的第i 个二进制位。求F的最大值,x为整数且0<=x<=m. 输入格式 第一行一个整数 n 表示数组大小第二行 n 个整数表示 Ai,Ai 有正有负接下来一个数 m 的二进制表示,从前到后分别是低位到高位 输出格式 F(X)
阅读全文
摘要:P2320 [HNOI2006]鬼谷子的钱袋 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 3 输出样例#1: 2 1 2 1 #include<cstdio> 2 3 int ans[110],p,n; 4 int main() 5 { 6 scanf("%d",&
阅读全文

浙公网安备 33010602011771号