摘要: 数论分块 连续区间中处理 #取整函数 ![Pasted image 20260508152313.png]] 朴素算法:逐项计算。O(n) 优化:注意到,[ n/i ] 的取值不是一直在变化的,如 10/9 =10/8。于是我们考虑将整个区间划分成一块一块的子区间,在每一个子区间中的 n/i 的取值 阅读全文
posted @ 2026-05-12 21:48 Ahui2667d 阅读(3) 评论(0) 推荐(0)
摘要: void discrete(){//离散化 sort(a+1,a+1+n); for(int i=1;i<=n;i++) if(i==1 or a[i]!=a[i-1]) b[++m]=a[i]; } int query (int x){//查询x是第几个bi return lower_bound( 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(3) 评论(0) 推荐(0)
摘要: 让我详细解释一下环形均分纸牌问题中的推导过程,特别是关于 \(t_i\) 序列的定义。 完整推导过程 1. 问题建模 设有 \(n\) 个人围成一圈,第 \(i\) 个人初始有 \(a_i\) 张牌,平均值为 \(\bar{a} = \frac{1}{n}\sum_{i=1}^n a_i\)。 定义 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(4) 评论(0) 推荐(0)
摘要: vector<int> mul (vector<int>a, int b) { vector<int>c; int t = 0; for (int i = 0; i < a.size(); i++) { t += a[i] * b; c.push_back(t % 10); t /= 10; } w 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(1) 评论(0) 推荐(0)
摘要: 结构 一种完全二叉树 大根堆:父节点大于等于子节点 小根堆:父节点小于等于子节点 操作 以大根堆为例 插入操作 最右下角加入 向上调整 直接插入元素后会不满足大根堆的性质,需要作调整 https://oi-wiki.org/ds/images/binary_heap_insert.svg 将插入的元 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(4) 评论(0) 推荐(0)
摘要: 算法流程 缩小问题规模 问题仍然不够小时,需要重复1,即自身调用自身 尝试求解小规模问题 求解失败,回溯到原问题时,需要将为求解小问题所作的影响全部失效化,即回溯时还原现场 将小规模问题扩展到原问题 递推与递归的简单应用 ![Pasted image 20260426110212.png]] 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(3) 评论(0) 推荐(0)
摘要: 32bit unsigned int: 32bit编码C视作32位二进制整数N 32bit int: 最高位:符号位(0非负,1负数) 最高位为0的32bit编码C视作32位二进制整数N ~C对应的二进制整数为-1-N 补码的性质: 由上面两个例子:两个数值做加减相当于在32bit补码下做最高位不进 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(2) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(3) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(1) 评论(0) 推荐(0)
摘要: 数组 :随机访问 不能随机插入/删除 链表 :顺序访问 能随机插入/删除 实现 指针实现 struct Node { int value;//data Node *prev,*next;//pointer }; Node *head,*tail;//防止越界,头尾 void initialize() 阅读全文
posted @ 2026-05-12 21:47 Ahui2667d 阅读(2) 评论(0) 推荐(0)