- 2024-10-08CF708C Centroids [树形DP,换根DP]
Description给定一棵树。至多进行一次操作:删去一条边,连接一条新边,保证操作完后仍是树。问每个点在进行操作后是否可以成为树的重心。Solution性质\(1\):若一个点不是树的重心,则它的必然有一个大小大于\(\lfloorn/2\rfloor\)的子树。性质\(2\):如果一个点合法,要么它本来
- 2024-10-07CF708C Centroids [树形DP,换根DP]
Description给定一棵树。至多进行一次操作:删去一条边,连接一条新边,保证操作完后仍是树。问每个点在进行操作后是否可以成为树的重心。Solution性质\(1\):若一个点不是树的重心,则它的必然有一个大小大于\(\lfloorn/2\rfloor\)的子树。性质\(2\):如果一个点合法,要么它本来
- 2024-09-24日新月异 PyTorch - pytorch 基础: K-means 聚类算法(sklearn.cluster 的 KMeans 实现,对一个包含 10 个特征的数据做分类)
源码https://github.com/webabcd/PytorchDemo作者webabcd日新月异PyTorch-pytorch基础:K-means聚类算法(sklearn.cluster的KMeans实现,对一个包含10个特征的数据做分类)示例如下:basic\demo07.py'''K-means聚类算法(sklearn.cluster的KMeans实现,对一个包含1
- 2024-08-08CF708C Centroids
题意来自洛谷:思路记录每个点\(u\)所在子树可以删去的最大的部分\(part1\)和次大的部分\(part2\)和除了\(u\)的子树以外的部分可以删去的最大的部分\(up\),这些部分必须要求小于等于\(\dfrac{n}{2}\),和找树的中心(注意不是重心)的思路差不多。注意:\(part1,part2\)不
- 2024-08-08CF1406C Link Cut Centroids
思路如果一棵树有两个重心,那么从一个重心的一边切割一个点到另外一个重心即可。如果一棵树只有一个重心,那么随意断掉一个点再恢复即可。代码#include<bits/stdc++.h>usingnamespacestd;constintN=100010;structedge{ intto,next;}e[N*2];inthead[N]
- 2024-03-07【Centroids】不一样的解法
前言一道好题,也就花了我一个下午而已。本人做法比较清奇,可以当做开阔思路参考,并不太建议实操(太难调了!)。文章较啰嗦,谅解。思路众所周知,我并不太喜推式子,所以我们考虑直接根据题目限定的条件硬刚。首先,我们先假定\(1\)为根,并求出每个点的子树的大小,记为数组\(size\),并且再
- 2024-02-01k_means算法
C语言代码#include<iostream>usingnamespacestd;//定义点的结构体structpoint{doublex;//点的x坐标doubley;//点的y坐标intcentroid;//点所属的质心};//定义计算两点之间距离的函数doubledist(structpointa,structpointb){
- 2023-12-23机器学习-无监督机器学习-kmeans-17
目录1.什么是聚类2.代码实现1.什么是聚类无监督机器学习的一种输入数据只有X没有y将已有的数据根据相似度将划分到不同的簇(花团锦簇)步骤:随机选择k个簇的中心点样本根据距离中心点的距离分配到不同的簇重新计算簇的中心点重复2-3直到所有样本分配的簇不再发生
- 2023-12-20【算法】K-means 算法学习
fromnumpyimport*importpandasaspdimportmatplotlib.pyplotasplt#计算两点之间的欧式距离defdist(a,b):returnsqrt(sum((a-b)**2))#生成聚类中心defcreate_center(data,k,defaultPts=[0,3,6]):#固定的几个点作为聚类中心ifdefaultP
- 2023-11-01CF708C Centroids
对于一个不是重心的点\(u\),它必定有一棵子树\(T\)包含所有重心(如果有两个重心则它们必定相邻),显然\(|T|>\lfloor\frac{n}{2}\rfloor\),这阻碍了它成为重心。贪心地想,我们要在\(T\)中找出一棵子树\(S\)使得\(|S|\leq\lfloor\frac{n}{2}\rfloor\)且\(|S|\)尽可能大,然后将
- 2023-08-24Two Centroids
TwoCentroids先考虑对于一棵树,至少要加多少个点才能有两个重心。以重心为根,设最大儿子的子树大小为\(mx\),那么答案就为\((n-mx)-mx=n-2mx\)。接下来考虑如何在加点时维护最大子树,一个显然的性质,加一个点重心最多偏移一位,如果重心偏移,那么\(mx=\lfloor\frac{n}{2
- 2023-07-31【机器学习】K-Means
K-Means找最接近的质心公式\[c^{(i)}:=j\quad\mathrm{that\;minimizes}\quad||x^{(i)}-\mu_j||^2\]其中,范式\(||X||\),其计算公式为\[||X||=\sqrt{x_1^2+x_2^2+\cdots+x_n^2}\]代码#UNQ_C1#GRADEDFUNCTION:find_closest_centroidsdeffind_closest
- 2023-07-29聚类算法
聚类算法 聚类算法是机器学习中涉及对数据进行分组的一种算法。在给定的数据集中,我们可以通过聚类算法将其分成一些不同的组。在理论上,相同的组的数据之间有相同的属性或者是特征,不同组数据之间的属性或者特征相差就会比较大。聚类算法是一种非监督学习算法,并且作为一种常用的
- 2023-06-14简单易学的机器学习算法——K-Means算法
一、聚类算法的简介 聚类算法是一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。聚类算法与分类算法最大的区别是:聚类算法是无监督的学习算法,而分类算法属于监督的学习算法。 在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似
- 2023-05-16CodeForces 1827 D Two Centroids
洛谷传送门CF传送门考虑固定一个重心,设\(k\)为重心最大子树大小,答案为\(n-2k\)。构造方法是往最大的子树塞叶子。树的重心有一个很好的性质,就是加一个叶子,重心最多移动一条边的距离。简单证一下,设重心为\(x\),往儿子\(u\)的子树中加叶子。如果\(sz_u>\left\lfloor
- 2023-05-07ECE4076计算机视觉
k-MeansandMean-ShiftClusteringECE4076/5176ComputerVisionLab3(Weeks8,9)PerformanceExpectationsandGuidelinesforLabCompletionAsweprogressthroughthecourse,weexpectyoutoexpandyourskillsandtoolsettotacklemorecomplexandinvolvedp
- 2023-04-16KMeans算法与GMM混合高斯聚类
一、K-MeansK-Means是GMM的特例(硬聚类,基于原型的聚类)。假设多元高斯分布的协方差为0,方差相同。 K-Means算法思想对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。N个d维样本,时间复杂度O(kLNd)初始
- 2023-03-07Word2vec之情感语义分析实战(part3)--利用分布式词向量完成监督学习任务
引言这篇博客将基于前面一篇博客Part2做进一步的探索与实战。demo代码与数据:传送门单词的数值化表示前面我们训练了单词的语义理解模型。如果我们深入研究就会发
- 2023-02-11机器学习-Kmeans
前言K-means是一种经典的无监督学习算法,用于对数据进行聚类。K-means算法将数据集视为具有n个特征的n维空间,并尝试通过最小化簇内平方误差的总和来将数据点划分为簇。本文
- 2022-12-09数据挖掘算法—K-Means算法
✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。
- 2022-12-07机器学习--Kmeans聚类算法
1.1概述K-means算法是集简单和经典于一身的基于距离的聚类算法采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象
- 2022-11-10CodeForces - 708C Centroids
题意:给出一棵有n个结点的树,对于每一个结点,如果任意删除一条边后再任意添加一条边能使这个结点成为这棵树的重心,则输出1;反之输出0。解:重心的特点:以重心为根节点时,其最大子
- 2022-11-09经典算法笔记:无监督算法(聚类、降维)
本文是吴恩达老师的机器学习课程[1]的笔记和代码复现部分(聚类、降维)。作者:黄海广[2]备注:笔记和作业(含数据、原始作业文件)、视频都在github[3]中下载。我将陆续将课程笔记和
- 2022-10-29【计算机视觉(CV)】基于k-means实现鸢尾花聚类
【计算机视觉(CV)】基于k-means实现鸢尾花聚类作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践
- 2022-10-24数据挖掘算法—K-Means算法
一位读者建议多分享一些具体算法相关的内容,这期分享一下数据挖掘相关的算法。简介又叫K-均值算法,是非监督学习中的聚类算法。基本思想k-means算法比较简单。在k-means算法中