666xz666 的博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
位运算

位运算

位运算主要内容low_bit返回的是一个整数的二进制形式最右边的“1”,比如对于(101011000)2 返回的是(1000)2 123int low_bit(int n){ return n&-n;} 例题low_bit二进制表示中1的个数 12345678910111213141516171819202122232425#include<bits/st
2025-01-25
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #binary
双指针

双指针

双指针算法主要内容双指针有很多种,第一类是两个指针在不同的序列上,比如归并排序的区间合并问题,还有一类是两个指针指向同一序列的不同位置来解决一些问题。主要遇到的是第二类。 针对第二类,一般可套用下面的模板。双指针实质上是根据问题的某种特性,比如单调性,来对朴素算法进行优化。 经典例题A+B123456789101112131415161718192021222324252627282930313
2025-01-24
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #double-pointer
差分

差分

差分情景将区间[l,r]之间每个元素都加上一个数c,求修改后数组的值。 主要内容一维差分 二维差分 模板题一维差分12345678910111213141516171819202122232425262728293031323334353637#include<bits/stdc++.h>using namespace std;int n,q;const int N=1e5+5;int
2025-01-23
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #differential
前缀和

前缀和

前缀和情景求区间[l,r]之间所有元素的和。 主要内容一维前缀和 二维前缀和 模板题https://blog.csdn.net/qq_44426403/article/details/134255195 一维前缀和123456789101112131415161718192021222324252627#include<bits/stdc++.h>using namespace std
2025-01-23
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #prefix sum
csp36-5 梦魔(30分)

csp36-5 梦魔(30分)

csp36-5 梦魔题干https://sim.csp.thusaac.com/contest/36/problem/4 30分作答12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717
2025-01-23
寒假练题计划 > scp认证真题
#cpp #algorithm #binary search #csp
高精度整数运算

高精度整数运算

高精度整数运算目的为了解决cpp语言整型变量存在范围,太大的整数会导致溢出。 存储方式 采用vector存储每一位数,一般从低位开始存,方便进位操作。 加法、减法、乘法都是从最低位算起的,但是除法得从最高位算起,保存的C数组也是反的,所以返回之前要转置。 高精度加法两个大整数相加。 1234567891011121314151617181920212223242526272829303132
2025-01-22
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #big integer
浮点二分

浮点二分

浮点二分浮点二分比整数二分简单得多,因为无需判断边界条件,只要设置精度即可。 设置精度标准:一般题目要求保留x位的话,精度加上2没有大问题。 模板1234567891011const double eps = 1e-9;double binary_search(double left, double right) { int l=left, r=right; while
2025-01-20
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #binary search
二分

二分

二分查找模板12345678910111213141516171819202122232425bool check(int x){ //判断函数 return true}//[l,mid],[mid+1,r]int bsearch_1(int l,int r){ while (l<r) { int mid=l+r&
2025-01-19
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #binary search
归并排序

归并排序

归并排序模板123456789101112131415161718192021222324int n;const int N=1e5+5;int a[N],tmp[N];void ms(int l,int r){ if(l>=r) return; int mid=l+r>>1; ms(l,mid); ms(mid+1,r); int k=0
2025-01-18
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #sort
快速排序

快速排序

快速排序模板12345678910111213141516int n;int a[N];void qs(int l,int r){ if(l>=r) return;//判断递归退出 int x=a[(l+r)/2],i=l-1,j=r+1; while(i<j){ do i++; while(a[i]<x); do j--; whi
2025-01-18
寒假练题计划 > 基础算法
#cpp #algorithm #ACwing #sort
1234

搜索

github: 666xz666 powered by: Fluid