- 博客(14)
- 收藏
- 关注
原创 蓝桥杯数论通关系列(四)拓展欧几里得算法
给定a,b均为整数,一定存在一组整数x,y使得a,b满足a*x + b*y = gcd(a,b) = c。而拓展欧几里得算法就是求出这组整数(x,y)的算法。
2024-10-13 23:26:06 481 1
原创 蓝桥杯数论通关系列(二)唯一分解定理与约数定理
唯一分解定理的内容就是任何一个自然数都可以分解成有限个素数相乘,并且20可以拆成5*4,而5是素数4不是,那么4就可以继续拆分成2*2,用唯一分解定理表示出来就是20=5^1 * 2^2。
2024-09-27 21:32:18 268
原创 蓝桥杯数论通关系列(一)LCM与GCD
如果理解有困难可以先看这篇文章:【数论中非常非常基础的知识 - CSDN App】LCM,即最小公倍数的计算。GCD,即最大公约数的计算。LCM与GCD可以称为数论中最重要,最基础的算法,可以称之为数论的根基。其中,GCD又要更重要一些,LCM基本都可以通过GCD得到,因此,本文主要讲述GCD算法。
2024-09-23 18:46:17 509
原创 差分数组及其应用
假设a数组是原数组,那么i位置的差分定义为X[i] = a[i] - a[i - 1];即i位置的差分定义为该位置的数减去前一个数。特别的,第一个位置的差分数组等于原数组。由于差分数组可以进行快速的O(1)区间修改,但如果要查询的话则要进行一遍O(n)复杂度的前缀和操作,因此适用于多次修改偶尔查询的情况。
2024-09-16 15:48:48 225
原创 动态规划经典问题--01背包
给定一个承重为V的背包和数量为n的物品,我们用重量和价值的二元组描述一个物品,第i种物品表示为(vi,wi),问背包物品不超重的情况下,得到的最大价值是多少。
2024-09-10 11:51:44 351
原创 前缀和进阶--树状数组极其应用
如果c[i]是一个树状数组,那么c[i]存储的值就是i向前lowbit(i)个数的和。与前缀和的区别在于前缀和s[i]是存储的前i个数的和。树状数组相比于前缀和数组牺牲获取区间和值的速度,换来了单点修改的速度,总的来说是值得的。
2024-09-09 18:42:57 385
原创 天梯赛L2-017人以群分(分数25)
/当n为奇数,假设是五,那么mid是二,恰好形成了二三的分组,高活跃度比低活跃度多一人。i++){//从一开始方便后面统计两拨人的数量。//排序注意sort是左闭右开。
2024-06-12 22:21:32 613
原创 天梯赛l2-004这是二叉搜索树吗
void bulid1(int l1, int r1, int l2, int r2){ //将二叉搜索树前序遍历转化成后序遍历的第一个函数,参数代表的是将前序遍历l1到r1的内容放到后序遍历的l2到r2之间。void bulid2(int l1, int r1, int l2, int r2){//将二叉搜索树前序遍历转化成后序遍历的第二个函数。//i代表的是第一个大于等于节点值的位置。//如果左右都是二叉搜索树。bool def1(int l, int r){ //判断是否是二叉搜索树的第一个函数。
2024-06-11 17:31:07 934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人