摘要:
CF242E XOR on Segment 区间异或不好直接维护,于是我们考虑将所有数二进制分解。 我们把每一位单独提出来做,那么对于每一位,异或要么不变,要么取反,而位与位之间的操作是独立的!建一棵线段树维护每一位的信息,那么只要维护: 1.区间取反(0变1,1变0) 2.区间求和 即可。这个利用 阅读全文
摘要:
n个小球放入m个盒子 球可以相同也可以不同,盒子可以一样也可以不一样,盒子可以空也可以不能空,那么一共就有$222=8$种 总结: 1 、2 、6组合数 1.球同,盒不同,不能空 插板法,$n-1$个空隙插$m-1$个板 \(C(n-1,m-1)\) 2.球同,盒不同,能空 如果给每个盒子一个球,就 阅读全文
摘要:
二分答案 差分序列,前缀和一下就是原数组,然后如果这个数小于mid,那就让 这个位置后连续w个都+1(注意边界是n+1),显然加上不会影响答案 #include <queue> #include <cstdio> #include <cstring> #include <iostream> #inc 阅读全文
摘要:
https://www.luogu.com.cn/problem/UVA1521 \(gcd=1\) 的话,排除了x中所有因子及其倍数(除了1) $ gcd>1 $的话,范围变成了gcd的整数倍 显然,下面那个缩小得更快,但题目问的是“ 最坏情况下 ”,所以是用上面那个,显然$ p=1 $,肯定 \ 阅读全文
摘要:
建图 知道 \([l,r_1]\) 奇偶性和 \([l,r_2]\) 奇偶性,必然知道 $[r_1+1,r_2]$的奇偶性这很像是图上连边, \((u,v) (v,w) --> (u,w)\) 但这里有个+1,我们考虑去掉,那么就是每条边$[l,r]\(都连边\)(l-1,r)$然后全图跑最小生成树 阅读全文
摘要:
起床困难综合症 从高到低拆位考虑,贪心,如果这一位0换1,肯定要,1换1也是要,然后一开始用全0和全1 的搞一下 #include <cstdio> #include <iostream> #include <algorithm> using namespace std; typedef long 阅读全文
摘要:
bitset CF113C Double Happiness 把线性筛的mindiv替换为bitset #include <bitset> #include <cstdio> #include <cstring> #include <iostream> using namespace std; co 阅读全文