- 博客(37)
- 收藏
- 关注
原创 数学题集合1
首先我们如果分解约数,然后查找没出现过的公约数,显然非常麻烦,我们根据能够转化为乘法的性质,反过来枚举假设这个点是生成的gcd,那麽他一定满足,这个数没有出现过,并且任意两个数a1, b1 可以得到gcd(a1/x, b1/x) = 1的,我们枚举最小的点,那么我们是可以推出来的。我们可以求出这个序列的所有的最大公约数,它可以构成他们任意的距离,通过枚举测试样例,我们可以发现,生成的距离有很多,我们都可以用这个最大公约数构成。给定N个整数,求其他的数有多好个是他的约数, 1<=a <= 1e6;
2024-08-10 01:36:06
580
原创 数据结构1
维护前缀和和区间修改1。从父节点走到子节点,寻找x若干个0,2.通过子节点找父节点找到所有包含x的子节点,怎么找,找到的是直接包含的区间,唯一的直接影响的区间,树p = x + lowbit(x), 从下往上迭代的过程,直接前驱:查询前缀和点更新建树,因为tr[i]指的区间是[x-lowbit(x)+ 1,x]而不是前缀和,所以不应该跳到之前的位数上比如c[3]= a[3]而不是c[3] = a[3] + c[2];第0层。
2024-08-08 02:30:58
581
原创 2024睿抗机器人开发者大赛CAIP编程技能赛
分数 10热҈热҈热҈……最近热得打的字都出汗了!幸好某连锁餐厅开启了气温大于等于 35 度即可获得一杯免费雪碧的活动。但不知为何,在每个星期四的时候,这个活动会暂停一天……现在给定连续的若干天的气温情况以及给定的第一天是星期几,请你算出有多少天你可以喝到免费的雪碧,又有多少天是因为星期四而导致你喝不到雪碧的。
2024-07-27 15:18:13
646
原创 经典卷积网络
lenet 卷积网络的开篇之作,共享卷积核,减少网络参数。AlexNet 使用relu激活函数,提升训练速度,使用Dropout缓解过拟合VGGnet 小尺寸卷积核,减少参数,网络结构规整,适合并行加速InceptionNet一层内使用不同尺寸卷积核,提升感知力使用批标准化,缓解梯度消失。
2024-07-14 12:20:56
1045
原创 牛客小白月赛98
当然 jackle 有备而来,他准备了 nnn 枚特殊的骰子,第 iii 枚特殊骰子,可以保证每次掷出的点数都为 aia_iai。他有 Q 次询问,每次给定 a,x,请你计算 g(x)mod 998244353的结果。jackle 想问你,他能不能只拿出一枚事先准备好的特殊骰子,成功完成这次魔术。长度为 𝑛 的序列 𝑎,有多少个区间 [𝑙,𝑟]给定一个长度为 𝑛 的序列 𝑎,如果当前序列长度至少为 2。长度n 的 01 串,只要。
2024-07-12 21:03:25
219
原创 Codeforces Round 957 (Div. 3)
p < n卡我很长时间,也是贪心思想,找到最近的L,动态更新。贪心思想,每次找到最小的数 +1,数据范围很小,直接暴力。使得f()最大,大的在前面,g()最小,小的在前面。贪心思想,一直分解除最大数之外的数。
2024-07-12 01:33:48
932
2
原创 tensorflow卷积层操作
每个神经元与前后相邻层的每一个神经元都有全连接关系。输入是特征,输出为预测结果。参数个数(前层*后层+后层)实际应用时,会先对原始图像进行特征提取,再把提取到的特征送给全连接网络会先进行若干层提取,把提取的特征放入全连接网络。卷积计算可以认为是一个有效提取图像特征的方法。一般会用一个正方形的卷积核,按指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点。当前卷积核的个数,决定了输出特征图的深度卷积利用立体卷积核实现参数空间共享。对应元素相乘+偏置项b。
2024-07-11 22:42:21
980
2
原创 拓展神经网络八股(入门级)
保存模型参数可以使用tensorflow提供的ModelCheckpoint(filepath=checkpoint_save,因为是标准MINST数据集,因此在准确度上看不出来,需要在具体应用中才能体现。model.trainable_variables 返回模型中可训练参数。2.加载参数 load_weights(model_save_path)minst等数据集是别人打包好的,如果是本领域的数据集。把图片路径和标签文件输入到函数里,并返回输入特征和标签。我们需要对颜色取反,我们的训练图片是黑底白字。
2024-07-10 00:06:34
750
1
原创 使用八股搭建神经网络
swquential可以搭建上层输出就是下层输入的网络结构,但是无法搭建带有跳连特征的非顺序网络结构定义网络结构块def call(self, x): #写出前向传播调用网络结构块,实现前向传播return y__init__定义出积木call调用积木,实现前向传播return y每循环一次train,计算一次test的测试指标。
2024-07-09 21:39:00
1478
1
原创 神经网络参数优化器
mt = β*m(t-1) + (1-β)*gt,Vt = 1 mt表示各时刻梯度方向的指数滑动平均 β接近一的超参数经验值为0.9, 由当前时刻梯度,和上一时刻的一阶动量。4.计算t+1时刻参数:w(t + 1) = wt - ηt = wt - lr*mt/sqrt(Vt)待优化参数w,损失函数loss,学习率lr,每次迭代一个batch,t表示当前batch迭代的总次数。把修正的一阶动量和二阶动量带入参数更新公式,实现参数自更新。不同的优化器,实际上就是定义了不同的一阶动量和二阶动量。
2024-07-09 18:46:47
502
原创 tensorflow之欠拟合与过拟合,正则化缓解
正则化在损失函数中引入模型复杂度指标,利用给w增加权重,弱化数据集的噪声,loss = loss(y与y_) + REGULARIZER*loss(w)利用超参数REGULARIZER给出参数w在总loss中的比例,即正则化权重, w是需要正则化的参数。L1正则化大概率会使很多参数变为0,因此该方法可通过系数参数,减少参数的数量,降低复杂度。L2正则化会使参数很接近0但不为0,因此该方法可通过减少参数值的大小降低复杂度。存在过拟合现象,轮廓不够平滑, 使用l2正则化缓解过拟合。
2024-07-09 13:57:33
551
原创 Tensorflow之损失函数与交叉熵
例如 二分类,已知答案y_(1, 0) 预测 y1(0.6, 0.4), y2=(0.8, 0.2), 那个答案接近标准答案。均方误差tensorflow实现,loss_mse = tf.reduce_mean(tf.sqrue(y_-y)代码实现, tf.losses.categorical_crossentropy(y_,y)预测多了,损失成本,预测少了,损失利润,利润不等于成本。预测酸奶日销量,y,x1, x2是影响日销量的因素。自定义损失函数 loss(y_, y) =
2024-07-09 12:58:10
517
原创 神经网络构成、优化、常用函数+激活函数
解决梯度消失问题正区间,容易造成神经元死亡,改变随机初始化,避免过多设置更小学习率,减少参数的巨大变化,避免训练中产生过多负数特征进入函数。4初始参数中心化,既让随机生成的参数满足以0为均值,sqrt(2/当前层输入特征个数)为标准差的正态分布。可以先用较大的学习率,快速得到较优解,然后逐步减小学习率,使模型在训练后期稳定。特点:容易造成梯度消失,输出非0均值,收敛慢,幂运算复杂,训练时间长。特点:输出是0均值,容易造成梯度消失,幂运算复杂,训练时间长。1.Signmoid函数。
2024-07-09 02:34:22
516
原创 tensorflow张量生成以及常用函数
tf.random.uniform(维度,minval=最小值, maxval = 最大值)[min, max)data = tf.data.Dataset.from_tensor_slices((输入特征,标签))2.tf,zeros(维度) 全为0 tf.ones(维度)全为1 tf.fill(维度,指定值—)tf.random.truncated_normal(维度,mean=均值, stddev=标准差)tf.random.normal(维度,mean=均值, stddev= 标准差)
2024-07-08 21:47:14
742
原创 VScode 安装 competitive programming helper + 配置c++编译环境文件
第二步,下载网页插件,github地址。
2024-07-08 19:09:21
261
原创 神经网络设计过程
转化为Iris Y(1, 3) = X (1, 4) * W(4, 3) + b(3,) 三个偏置项。梯度下降法:沿损失函数梯度下降的方向,寻找损失函数的最小值,得到最优的参数的方法。2.神经网络方法,采集大量的Iris特征,分类对应标签,构成数据集。学习率:当学习率设置的过小时,收敛过程变得缓慢,过大,会在错过最小值。损失函数可以判断当前W和b的优劣,当损失函数值最小时,W和b最优。损失函数的表达方法之一就是:均方误差:MSE(y, y_) =运用损失函数定义预测值(y)与标准答案(y_)之间的差距。
2024-07-08 02:56:09
426
原创 leetcode405周赛
给你一个字符串s和一个整数k。scckc给你一个正整数n。如果一个二进制字符串x的所有长度为 2 的子字符串中包含一个"1",则称x是一个字符串。返回所有长度为n的字符串,可以以任意顺序排列。
2024-07-07 13:57:33
465
原创 牛客周赛 Round 49
求方程 y=a1x2+b1x+c1y=a_1x^2+b_1x+c_1y=a1x2+b1x+c1 和方程 a2x+b2y+c2=0a_2x+b_2y+c_2=0a2x+b2y+c2=0 联立的解数量。嘤嘤会使用一种魔法:将血量为 xxx 的史莱姆分裂成两只血量为 ⌊x2⌋\lfloor \frac x 2 \rfloor⌊2x⌋ (即除以 2 向下取整)的史莱姆,当史莱姆血量为 0 时,史莱姆会死亡。现在给出一场比赛的题目总数和计算几何题数量,你需要算出嘤嘤对这场比赛的评价喵~。
2024-07-06 17:00:27
420
原创 牛客练习赛127
定义一个数对的 ai,aj,i<ja_i, a_j, i < jai,aj,i<j 的价值为:如果 ∣ai−aj∣>k|a_i - a_j| > k∣ai−aj∣>k,则价值为 max(ai,aj)\max(a_i, a_j)max(ai,aj),否则价值为 min(ai,aj)\min(a_i, a_j)min(ai,aj)。图的划分定义为将图划分为一个或多个连通块,对于每个连通块,其点集为其边集中每一条边的两端点的集合,且点集内任意两点均可通过边集里的边互相到达。
2024-07-06 16:52:15
409
原创 【LGR-190-Div.2】洛谷 6 月月赛 II & Windy OI Round 7
其中从 𝑥𝑖xi 移动到 𝑦𝑖yi 的过程重复至少 𝑘𝑖ki 次。,其中第 𝑖i 项任务需要连续的 𝑎𝑖ai 天来完成。也就是说,假设她在第 𝑥x 天开始该任务,那么她会在第 𝑥+𝑎𝑖−1 天结束后完成该任务,她需要保证这些天里她都是空闲的。莲子有 𝑚m 个需要满足的条件,第 𝑖i 个条件形如“小球需要从点 𝑥𝑖xi 移动到点 𝑦𝑖yi 至少 𝑘𝑖ki 次”,莲子有 𝑚 个需要满足的条件,第 𝑖 个条件形如“小球需要从点 𝑥𝑖移动到点 𝑦𝑖 至少一次”,第三行 𝑚 个正整数描述序列 𝑏。
2024-07-03 23:29:47
371
原创 leetcode第 133 场双周赛
改变一个0,后面的状态不确定,所以只能递推,最后判断a[n -1] 和 a[n -2 ]即可完成判定。如果满足以下条件,那么它们被称为一个。表示这个要求中的末尾下标和。中所有元素变为 1 的。操作次数,选择数组中。
2024-06-30 14:14:16
263
原创 Codeforces Round 955 (Div. 2, with prizes from NEAR!)
【代码】Codeforces Round 955 (Div. 2, with prizes from NEAR!
2024-06-30 13:04:58
486
原创 Educational Codeforces Round 167 (Rated for Div. 2)
【代码】Educational Codeforces Round 167 (Rated for Div. 2)
2024-06-29 22:10:58
356
原创 2024年CCPC东北四省联赛
输出39.20即可,保留两位小数,WA了一发...开方log(n)级别,次数少,不会超时。当时想法就是,如果开方不能整开开的数,那么他就能构成 (k - 1) + 1个数,如果能整开,平方就不会出现新数。前面都按照最优的拿,到最后只会有1,2,3个石子, 所以都会输...
2024-05-29 21:36:38
437
原创 蓝桥杯 字串简写 (双指针 + 前缀和 具有单调性性质的队列)
也算是双指针的思想吧。注意 用long long,虽然一列大约为10^5,但也架不住是字串啊,如果n = 1,那么很有可能就有 10^10个 满足该条件的。也就是说,假设找到了第一个满足该条件的,那么后面的就不需要再查找了,很想二分,但二分遇到全是特殊情况会失效,所以这里我们就前缀和,求出 (L ——R)之间 c2 的个数,时间复杂度o(1),我们的c1数组也是具有类似单调性,所以我们只要一直往前枚举即可,找到第一个满足条件的,然后继续推进,总体时间复杂度为o(n)。他是具有单调性质的。
2024-04-10 00:23:18
219
1
原创 蓝桥杯 整数删除 (二叉堆 + 双向链表 实现动态地址映射,数组模拟双向链表 + 二叉堆, 很方便,因为我不知道指针数组怎么弄....)
1)当a[i]左右两边改变时,由于堆是动态的,val改变,堆得性质会破坏,如何维护堆得性质不变。倘若我们先 对左右两边进行 + t操作再删除 heap[1],我们就会对 一个不一定满足的二叉堆性质的堆进行插入操作。我们现在有了二叉堆>>>链表元素a[i], 但是当我们取出堆顶时,a[heap[1]] 的左右两边的值也要改变。如何将二叉堆与链表的地址连接起来,我们就想到,二叉堆存的是链表的地址,判断条件时,提取该地址的值就ok。我们开始,对heap[1] 和 heap[1] 两边的元素进行操作,
2024-04-10 00:09:24
839
1
原创 岛屿个数 (当行不通的时候换个思路bfs)
在岛屿 A 所占据的格子中,如果可以从中选出 k 个不同的格子,使得他们的坐标能够组成一个这样的排列:(x0, y0),(x1, y1), . . . ,(xk−1, yk−1),其中(x(i+1)%k , y(i+1)%k) 是由 (xi , yi) 通过上/下/左/右移动一次得来的 (0 ≤ i ≤ k − 1), 此时这 k 个格子就构成了一个 “环”。若 B 是 A 的子岛屿,C 又是 B 的子岛屿,那 C 也是 A 的子岛屿。接下来输入 T 组数据。对于每组数据,输出一行,包含一个整数表示答案。
2024-04-08 00:24:51
729
原创 关于 dfs判断是否存在环的问题,但是如何解决对环进行操作?
在岛屿 A 所占据的格子中,如果可以从中选出 k 个不同的格子,使得他们的坐标能够组成一个这样的排列:(x0, y0),(x1, y1), . . . ,(xk−1, yk−1),其中(x(i+1)%k , y(i+1)%k) 是由 (xi , yi) 通过上/下/左/右移动一次得来的 (0 ≤ i ≤ k − 1), 此时这 k 个格子就构成了一个 “环”。若 B 是 A 的子岛屿,C 又是 B 的子岛屿,那 C 也是 A 的子岛屿。提出问题,如何求出两个环的交点,并把两个环合并成一个大环。
2024-04-07 19:28:28
337
原创 14届蓝桥杯省赛 接龙数列
第二种情况,我们前面已经记录过 f[r] 了, 而当前的 f[l] + 1 和 f[r] 所记录的序列长度是两个不同的子序列,我们需要找出最长的。例如 12,23,35,56,61,1112,23,35,56,61,11 是接龙数列;12,23,34,5612,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。对于一个长度为 K的整数数列:A1,A2,...,AK我们称之为接龙数列当且仅当 Ai 的首位数字恰好等于 Ai−1的末位数字 (2≤i≤K)。第一行包含一个整数 N。
2024-03-24 01:15:58
228
原创 试题 算法训练 强力党逗志芃 (树形dp + 分组背包)
我们需要找到一个具有代表性的子问题,考虑根节点的最大值 = max (枚举子节点在体积为 j 的情况下最大值 + 根节点在体积为 (v - j) 时的最大价值,根节点在v的时候最大价值)。更新完所有 f(i, j)的状态后,每个容量 j 都是在没有把 i 本身的容量和价值算进去,题目限制,我们需要更新所有的 j 使其变成 f(i, j) = f(i, j - 1) + val(i);其状态方程为 f (x, v) = max (f(x, v), f(y, j) + f(x, v - j));
2024-03-21 00:13:02
640
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人