自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 收藏
  • 关注

原创 kaggle competition--房价预测(线性回归)

这里用linearregression的方式来搞一下预测房价问题,这是在kaggle的一个比赛 不限期 可以随时提交。

2024-09-15 15:01:56 885

原创 机器学习--VGG

我们已经见过了LeNet和AlexNet,一个是3层,一个是7层,那么如果我们想实现一些更多层的神经网络要怎么办呢,还是手动开每一层吗?显然不能这么原始,所以我们想到了一件事:为社么不试试for循环呢qwq这就是vgg的本质了。

2024-09-14 20:08:20 1140

原创 机器学习--AlexNet

这个netnetnet其实就是比LeNetLeNetLeNet# 第一阶段# 第二阶段# 第三阶段# 第四阶段net.add(nn.Dropout(.5)) # 50% 的概率的丢掉 但期望不变# 第五阶段# 第六阶段net.add(nn.Dense(10)) # 真实的AlexNet是1000 但是我们这里还是用的mnist 所以就是10print(net)我们可以看看打印出来的netnetnet然后我把LeNetLeNetLe。

2024-09-14 16:14:43 1015

原创 机器学习--卷积神经网络(包括python实现)

首先我们要知道channel是什么意思,。我们来举个例子,在计算机视觉中,如果一张图片是黑白的,那么每个像素点都是有一个信息也就是这个像素点的灰度。但是对于一张彩色图片来说,每个像素点都是由三个信息叠加而成的,也就是RBG三个颜色的“灰度”。于是我们对黑白照片操作变成矩阵的时候,我们就会直接将灰度拿来用,把它变成一个二维的矩阵。而对于彩色照片来说,我们就会建立一个高为3的三维张量来存储这个图片。这里的所谓“高度3”就是我们的channel。

2024-09-13 17:02:14 975

原创 python 实现的 softmax regression

很简单的模型,就只有一层DenselayerDense \;layerDenselayerdef accuracy(output, label): # 计算拟合的准确度return nd.mean(output.argmax(axis = 1) == label).asscalar() # argmax是把每一列的最大概率的index返回出来 然后和label比较是否相同 最后所有求个meanacc = 0.这里的softmaxcrosse。

2024-09-13 16:20:13 734

原创 python 实现的 linear regression

这里我们实现一个很简单的线性回归模型我们这里还没有数据,所以我们整一个人为设定的truewtrue\_wtruew和truebtrue\_btrueb来人为生成训练数据和测试数据。true_w = np.array([2, -3.4]) # 真实的 w 和 bx = np.random.normal(0, 1, (n, len(w))) # 正态分布 0~1 的 n*2 的矩阵。

2024-09-12 17:00:39 729

原创 机器学习--K-Means

的话可能不会得到一个很好的分类方案,所以我们考虑每次随机初始化聚类中心,然后跑很多遍(取决于你的数据规模和时间)2. 分别遍历同一类的所有点,计算这些点的几何平均位置,并把聚类中心移动到这个位置。图画到这里我们就能明显的观察到两个聚类已经被划分好了。并标记这个点为距离更小的那一类。可能你也注意到了,我们如果只跑一遍。像前面介绍的线性回归、逻辑回归、看得出来,这就是要最小化所有点。最小的那个分类方案作为最后的答案。到两个聚类中心的距离。,对于每次计算出来的。

2024-09-12 12:14:46 1193

原创 机器学习--支持向量机(SVM)

  SVMSVMSVM 用于解决的问题也是 classificationclassificationclassification,这里 y∈{−1,1}y \in \{-1, 1\}y∈{−1,1}  比如说这样一个需要分类的训练数据:  我们可以有很多直线来分开这两坨东西,就像这样:  我们看到这三条线 l1,l2l_1, l_2l1​,l2​ 和 l3l_3l3​,我们显然可以看出来 l1l_1l1​ 比 l2l_2l2​ 和 l3l_3l3​ 要更优秀,但是我们怎么定义这个所谓的 “优秀” 呢?  我

2024-09-12 12:09:01 904

原创 机器学习--神经网络

神经网络计算  神经网络非常简单,举个例子就理解了(最后一层的那个写错了,应该是 a1(3)a^{(3)}_1a1(3)​):  notationnotationnotation: aj(i)a^{(i)}_jaj(i)​ 表示第 iii 层的第 jjj 个单元。w(j)w^{(j)}w(j) 表示权重矩阵,控制从 jjj 层到 j+1j + 1j+1 层的映射。  其中:a1(2)=g(w10(1)x0+w11(1)x1+w12(1)x2+w13(1)x3)a2(2)=g(w20(1)x0+w

2024-09-12 12:07:50 1175 4

原创 机器学习--逻辑回归

是表示我们拟合出来的那条直线(二维的情况下,一下解释也是二维的情况下,高维就类比就行了)。而并且上过高中的都知道,同样的,我们考虑和线性回归一样构造一个表示差异程度的函数,然后用。这条直线将平面分成了两部分,一部分中的点是。表示的是这条直线上方的半平面部分,而。表示的是这条直线下方的半平面部分。的),而在逻辑回归中,我们希望。我们可以看到,这个函数过点。在逻辑回归中,我们只讨论。如果我们考虑将概率超过。在线性回归中,我们有。的一类,并把概率小于。

2024-09-12 12:00:33 1113

原创 机器学习--线性回归

的算法来执行第二部,感性的理解就是在某一点找到 “下山” 的方向,并沿着这个方向走一步,并且重复这个动作知道走到 “山脚下”。在我们要解决的线性回归问题中,我们不仅不能使用上述已知的表达式解,我们还可以将维度升高。求导,得到了蓝色的切线的斜率,这个斜率显然是个正数,于是我们沿着负方向走一步,这一步的大小取决于。我们在高中的时候都学过线性回归,在这我们回顾一下。的差异程度,上述表达式很好的符合这个定义。在高中的课程中,我们会被给得到一组。这里,这个红色的曲线就是我们的。并且显然的,我们希望这个。

2024-09-12 11:57:03 654

原创 关于 1 + 1 = 2 的证明

∀xx0x∀xx0x∀xyxSySxy∀xyxSySxy∀xx⋅00∀xx⋅00∀xyx⋅Syx⋅yx∀xyx⋅Syx⋅yx上面这些定义都非常显而易见,很显然这些定义满足我们对自然数的认知。证明过程非常简单:首先我们把式子列出来111 + 111然后我们知道S01S(0) = 1S01111S0111S0又因为∀xyxSySxy。

2023-08-05 23:21:27 1267

原创 关于柯西不等式

∣a⋅b∣≤∣a∣∣b∣其中aabbcdacbd≤a2b2​c2d2​acbd2≤a2b2c2d2。

2023-07-23 10:34:41 322

原创 CSP2022

是同一个点,这样就与题目意思不符了,所以我们还需要高出次大的点,记为。这俩玩意儿是不是长得一模一样,所以我们考虑对于每一个点。但是这样做会有一个问题,可能发现我们求到的。但是这样还是有一个问题,我们发现你有可能。这样就又不行了,所以我们需要再弄出第三大值。,这样就一定是正确的了,具体的操作可以看代码。然后如果考虑暴力,那么就可以直接枚举。),就可以暴力统计答案了,但是这样复杂度。,所以我们可以直接对于每一个点。取到最大值,这里记录这样的。这两个点,因为我们发现。,然后直接然后直接用。

2022-11-06 11:12:36 712 1

原创 2022.10.3 模拟赛

  还是那个老 tricktricktrick 每个数取 log⁡\loglog 乘法变加法,虽然最后还是要打一个高精。59 pts  直接暴力就是 O(n4)O(n^4)O(n4) ,最后记一下位置然后输出就完了:100 pts  O(n4)O(n^4)O(n4) 的复杂度还是太高了,所以我们考虑能不能优化掉一维之类的。  首先我们更换枚举方式,先枚举矩形的上界和下界 a,ba, ba,b,再枚举左界 ccc,注意左界是从 mmm 到 111 反着枚举的。考虑能不能 O(1)O(1)O(1) 找到

2022-10-06 21:06:58 411

原创 2022.10.2好题选讲(构造专题)

于是若最大的数不在偶数位上,将其左/右移一位。所以如果这个序列长度是偶数并且最后能弄成全都是一样的的话那么这个序列的异或和必定是。也能保证偶数位的数是大于两边的数的,因为每个偶数位放的都是当前区间最大的数。个数我们就可以按照奇数的方法构造,至于最后一个数,因为满足异或和为。所以最后一个数必定和前面弄出来的所有数相等,那就可以不用管它了。仍然可以分奇偶讨论,如果数列长度是奇数的时候,就可以。的数列使得奇数项的异或和等于偶数项的异或和。显然这是不可能的,所以就这样构造就好了。之后对整个数组的异或和的贡献就是。

2022-10-02 20:00:33 627

原创 感性理解一下KMP

又因为红色部分是相同的,所以四个蓝色的部分都是相同的,然后就继续向后扩展,不能扩展之后就继续跳。个字符中真前缀和真后缀的最大相等的长度。,那么继续往后扫,知道不相等为止就是。然后我们在匹配的时候如果在。然后就又可以继续向下匹配了。如果不等,那么就继续跳前面。首先,对于模式串求出一个。这个位置适配了(也就是。

2022-10-02 08:45:15 416

原创 2022.10.1模拟赛

  FSYo Orz orz orz orz %%%%%  国庆节限定模拟赛  二维偏序升级版,不等式变形一下,分 444 种情况讨论:100pts O(n)O(n)O(n)  把式子化简一下 (ai−1)(aj−1)

2022-10-01 19:57:22 521

原创 关于信息熵的理解

显然,我们每次猜测的词语能给到我们的信息量是不一样的,现在我们需要找到一种方法来定量的求出猜测某一个单词反馈给我们的信息量,当然我们希望这个词的信息量越大越好。一个小游戏,你的目标是要猜中某一个五个字母组成的单词,你有六次机会来猜,每次猜完之后你会得到一些关于你的猜单词与正确单词的一些相关信息。的一个约束条件,目标单词肯定是符合这个约束条件的某一个。这样一来,我们就可以写一个程序暴力的求出所有的。显然,我们可以这样考虑,对于输入的某一个单词。那么回到我们之前的问题上来,我们要求的。

2022-09-14 19:09:07 515

原创 恶臭数字论证器 -- 简化版

现在我们要做的就是手写一个跟这个差不多的恶臭数字论证器。

2022-09-06 22:43:12 11281 3

原创 再写一遍的网络流

G=(V,E)∀(x,y)∈Ec(x,y)(x,y)∈/Ec(x,y)=0SS∈VTT∈Vf(x,y)(x∈V,y∈V)f(x,y)≤f(x,y)=∀x=S,x=T,(u,x)∈E∑​f(u,x)=​c(x,y)−f(y,x)(x,v)∈E∑​f(x,v)​容量限制。

2022-09-02 11:28:42 188

原创 fhqTreap

fhqTreapsplayfhqTreap作为一种平衡树,她有很多优势,最重要的就是她好理解,码量小,而且实测下来还比splay快,最重要的是她不用旋转!!!所以我们来学fhqTreap吧qwq。

2022-08-31 15:34:37 250

原创 模拟退火补完计划

在上一篇写的模拟退火中我比较详细的写出了模拟退火的物理原理根据和主要的实现流程,但是没有具体的例子,所以在这里我们就用一道比较简单的题来简单的实现以下模拟退火的代码吧。

2022-08-29 13:51:04 178 1

原创 2022.8.17好题选讲

并且势能这个东西还有另一个重要的性质,也就是一个系统的势能是其中所有物品的势能之和。这也就是一个数列的二阶线性递推问题了,这个上过高中的同学也应该都会做吧qwq,所以我们就能很容易的得到在职考虑。势能是什么,只要是上过高中的同学都应该知道(应该上过初中的也知道),并且势能有一个和这道题的魔法值非常接近的性质,也就是。,这样一来,每一个星星就对应了一个矩形,这个矩形表示右上角在其中时会使得窗口能观测到这个星星。,在这个基础上,不妨设圈住星星的矩形的顶点坐标都是整数,于是左下角的坐标就可以看成。

2022-08-19 14:43:27 163

原创 2022.8.16 模拟赛

的,所以我们考虑每次只找到一个点然后一这个点为界拆分成两个区间,然后递归处理,这样不会影响正确性但是由于随便找一个点的位置是不均等的,所以时间会可能被卡成。我们发现,在暴力算法中我们在维护的一个东西就很想某一个算法的板子,没错,就是莫队。是单调不增的,也就是说大区间的约束没有小区间的严格,所以我们考虑从大区间加一些限制转到小区间。这样一来,总体的时间复杂度就和启发式合并是相同的了,那么这道题就愉快的切掉了。的小区间都是不合法的,所以我们考虑找出大区间中所有这样的。究极大水题,一眼背包板子,然后就做完了。..

2022-08-16 16:15:29 175

原创 关于 GCD

  相信大家都会辗转相除吧 qwq。  首先有一个引理:gcd⁡(a,b)=gcd⁡(a−b,b)\gcd(a, b) = \gcd(a - b, b)gcd(a,b)=gcd(a−b,b)  证明: 令 a=k1gcd⁡(a,b),b=k2gcd⁡(a,b)a = k_1\gcd(a, b), b = k_2\gcd(a, b)a=k1​gcd(a,b),b=k2​gcd(a,b) 显然有 gcd⁡(k1,k2)=1\gcd(k_1, k_2) = 1gcd(k1​,k2​)=1。然后 gcd⁡(a−b,

2022-08-15 15:28:38 216

原创 2022.8.13 模拟赛

那么我们考虑证明从这个式子能否说明树就是合法的,显然只有这个式子是不能说明是合法的,因为这是一颗完全。显然对于前两种情况,我们往下递归就能变成第三种情况,所以很好处理,然后我们来考虑第三种情况怎么做。对于每一个非叶子节点来说,她的权值就是她的所有儿子权值的平均值,问有多少种不同的根节点的权值。,这个绝对值就很离谱,所以我们考虑将绝对值拆开,分两种情况:第一种就是。算法,这样就把所有点划分成两个部分,一个是已经在树中的点,标记为。这个式子,她显然是一个分式,并且这个分式的每一项的分母都是。.........

2022-08-13 23:25:02 192

原创 2022.8.11 模拟赛

对于一个数列,我们发现在一个 “波峰” 中最多贡献三个点,同理,每一个 “波谷” 也最多贡献三个点,所以我们考虑求出一个数列中所有的 “极值点”,这个 “极值点” 的定义就是她必须同时小于或者大于她旁边的两个值的点。我们发现两个相同的数字合并之后会使得中间的数字全部被消去,所以中间的数字就不能和两边的数字共同产生贡献。求出 “极值点” 之后我们考虑一个区间中的最长交错子序列的长度就是区间中 “极值点” 的个数加上。在我们要处理的问题中是没有区别的,所以我们可以吧剩下的。结尾的最长交错子序列的长度,记。...

2022-08-12 08:44:17 180

原创 扩展中国剩余定理

在所有方程中取两个出来合并(如果不能合并输出无解)只剩下一个方程直接解这唯一的一个方程得到答案完结撒花!!!

2022-08-10 19:22:06 208

原创 2022.8.9 模拟赛

就过掉了,但是中间要记录每个字母有没有被走过,走过就不走了。维护一个线段树支持单点修改,区间查询,我们发现一个性质,对于一个左端点。所以如果这个小数是有限的的,那么就存在一个。值是非严格单调递增的,所以我们可以考虑二分得到一个点。没啥关系,所以我们先给她们约分一下然后只关注。都要线段树区间查,所以复杂度是。,直到这俩玩意儿互质。直接按照题面模拟,复杂度。小清新签到题,直接暴力。根据一些常识,我们知道。是矩形的情况,据机房大佬。来说,她向右扩展之后的。,这个点是第一个大于等于。的右端点,那么这个点。.....

2022-08-10 08:19:48 134

原创 2022.8.8好题选讲(数论场)

简单来说无限维的空间就可以理解成一个希尔伯特空间。操作就变成了对于很多的无限维向量,在每一个维度上取一个最大值,得到的新的数就是这些。然后我们发现好像式子已经化到最简了,但是我们算一下复杂度就会发现我们愉快的。了,就是尝试确定每一个质数的指数,同时记录一个约数个数就好了。这个东西是写在指数上的,所以根据扩展欧拉定理,运算的时候是对。对他质因数分解,然后希尔伯特空间中的维度就代表质因子的次数。,那么我们就得到了一个因数个数与原数相同的且值比原数小的数。就能被看成希尔伯特空间中的一个向量。...........

2022-08-09 18:01:10 201

原创 2022.8.6 模拟赛

从小到大枚举每一个位置,再枚举从小到大每一个字母,看这个字母后面有没有,如果有判断它移到这个位置的步数(用树状数组区间加实现),如果可以那么。颗子树中的海拔下降的路径的条数,那么这个点的贡献就是(子树个数为。,那么我们考虑在这条最短路的某两个点上反复横跳来延长路径长度。表示是否存在路径长度为奇数的最短路的长度。这样一来,我们发现延长的路径长度一定是偶数,所以如果。做菊花图,我们发现对于菊花图来说,所有方案的。时表示是否存在路径长度为偶数的最短路的长度,的路径(不一定是简单路径)。,所以我们考虑怎么求的。..

2022-08-07 20:01:54 163

原创 2022.8.4 模拟赛

所以我们发现,能相互到达的区间们可以在数轴上形成一个更大的区间,这就可以用并查集维护然后每次查询查是否连通就好了。比较简单的一个题,直接暴力建树,然后考虑分治,因为我们发现一颗子树的问题就和整棵树的问题是不同规模的相同种类的问题,所以我们可以考虑分治。这样我们就发现,能相互到达的区间其实都在我们平时写的线段树单点修改需要经过的节点上,所以我们就区间修改优化并查集维护就做完了。我们考虑线段树合并,首先用线段树维护一个连通块里的答案。的点,这个点上面的答案就是我们要的答案。中的各个字母,可能存在的最后一段。..

2022-08-05 10:41:18 148

原创 2022.7.29好题选讲(计数专题)

  热身题qwq  传送门:树上最远点对  tagtagtag:树上最远点对的结论???  对于一个点集,其中的最远点对是 (x1,y1)(x_1, y_1)(x1​,y1​),另一个点集,最远点对是 (x2,x2)(x_2, x_2)(x2​,x2​),那么这两个点集合并后最远点对必定在 (x1,y1)(x_1, y_1)(x1​,y1​) ,(x1,y2)(x_1, y_2)(x1​,y2​),(x2,y1)(x_2, y_1)(x2​,y1​),(x2,y2)(x_2, y_2)(x2​,y2​),(

2022-08-03 15:24:32 135

原创 2022.8.2 模拟赛

这样就不是单增的了,所以二分答案的正确性无法保证。因为石子个数有限,并且产生的所有情况下石子数量和都是固定的数字。的证明是势能分析,然后我也没看懂,所以就不证了吧qwq。(背包)的装法,所以会首先把大的放进去,导致下一次有小的放不进去,会浪费空间。现在的问题就在于循环节,如果循环节不是很长的话就可以直接打表了。足够大,我们就必定会回到以前出现过的情况,也就会产生循环。,在我们会发现,先手必胜的条件首先一个先显然的就是。的时候,所以我们稍微手算几个自己造的样例就会发现。的拆分数是有限的,所以情况数是有限的。.

2022-08-03 10:20:35 118

原创 CSP-S2019 Day2

  给定一个 n×mn \times mn×m 的矩阵,矩阵上坐标为 (i,j)(i, j)(i,j) 的位置有 $$a_{i, j} 个数,矩阵中每一行最多选 111 个数,每一列选的数不能超过总选取数 kkk 的一半,且在矩阵中至少选一个数,问选取的方案数。  我们看看这三个约束条件,首先,至少选一个数和每行最多选一个的条件是很好满足的。难点就在于每列不能超过一半这个条件。  所以我们考虑简单容斥一下,我们求出全集再减去超过一半的数量,这样就得到了不超过一半的数量。  为什么要这样做呢,因为我们简单的分

2022-08-01 10:42:53 185

原创 2022.7.27好题选讲

啊,这样一来,我们就考虑怎样能优化这个做法吧。还是有很多无用功,再想想,维护一个数列,需要两个操作,第一个是把其中某一个数改成。再想想,一边算一边取模怎样呢,哇塞,有除法要算逆元欸。仔细一想,哇塞,这数据范围,要开高精了吧。这里就不举例子了,我们可以发现,在这些点中,对答案产生贡献的就是。这样一来,我们就把问题转化成了一个最大子序列的问题,对于奇数位和偶数位分别跑一遍,然后再取。最终存活下来,在前若干步中需要保护的鸡的集合,我们注意到,保护除了。,就删掉前面操作序列中的那个数,然后从头开始再做一遍前缀积。.

2022-07-30 12:09:48 197

原创 CSP-S2019 Day1

CSP2019Day1格雷码 括号书 树上的数

2022-07-28 21:29:24 233

原创 2022.7.26 模拟赛

test

2022-07-27 18:58:29 216

原创 整体二分?

整体二分

2022-07-25 19:43:22 193

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除