• 2024-06-23基础算法(1)
    文章目录数学函数math.h(cmath)头文件float.h头文件拆位拆位进阶奇偶判断质数判断在c++中,会涉及到一些算法,例如递归、递推、动态规划(DP)、深搜(DFS)、广搜(BFS)……今天我们要说的是一些简单的算法数学函数math.h(cmath)头文件选择任意一个头文件#include<cmath>//仅
  • 2024-06-202、拆位练习 - 课件
    基础知识一、拆位原理除法运算符/的拆位用法在拆位中,我们可以用除法运算符/来获取一个数字的高位部分。具体来说,就是用这个数字去除以一个适当的倍数(通常是10的幂),得到的商就是高位部分。例如,假设我们有一个数字n=1234,我们想要获取它的百位及以上的部分,就
  • 2024-05-18二进制拆位
    二进制拆位题意:给定一个数组,求所有子区间的区间异或和的sumSol:先做异或前缀和,原问题则变成求数组中任意两个数的异或,然后全部相加起来的结果。我们考虑每个元素每位的贡献,只需要统计前面(偏序计数)有多少个数的本位与自己不同。//这个题目显然应该作为模板题,似乎没有找到直白的在
  • 2024-02-27CF482B (拆位思想+实现)
    难度:2看到位运算想到拆位。因为是与所以对于\([l,r]\)区间内在二进制下,如果它是1则\([l,r]\)区间都是1,如果是0则\([l,r]\)区间内至少有1个0。因为是区间所以不难想到用线段树处理,而线段树维护的就是区间内1的个数。考虑如何处理。首先对于q拆位,1就为区间赋值,操作
  • 2024-01-22从CF1878E学习前缀和维护二进制拆位分析思想
    Problem-1878E-Codeforces这题我想到了个大概,按位与的话结果肯定是递减的,而且要从二进制每一位下手,但是思路只停留在暴力对整个数操作。当然,利用这个性质,肯定要二分。拆位思想比如要计算111000111011100100010我们知道最后结果肯定是留下都有\(1\)的位0100000
  • 2023-11-06cf1322BPresent(基数排序+双指针+拆位)
    cf1322BPresent首先拆位是显然的,对于两个数a[i],a[j],除了考虑当前位上的数,我们还要考虑是否会产生进位,我们可以利用基数排序+双指针,因为我们每次都是将低位的排好序了,所以我们可以用双指针计算进位,然后分类计算一下,当前为为1的情况即可。#include<cstdio>#include<algorithm>#
  • 2023-09-28拆位
    占坑H-ProblemH.xor_2021CCPC新疆省赛P9236[蓝桥杯2023省A]异或和之和SumofXORFunctionsI-TheYakumoFamily_2023牛客暑期多校训练营5(nowcoder.com)