自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 K-Means聚类算法选取K值

选取聚类数量目前来说,选取聚类的数量,仍然是靠手动选择,通常在数据集中,有几个聚类是说不清楚的。如下图,可以看作四个聚类,也可以看作两个聚类,也有人将它看作三个聚类。肘部法则肘部法则是通过改变K的值,来计算当前K值下代价函数J的值是多少,并将这几个 ( K , J ) 绘制在图像中,通过寻找一个明显的“拐点”,来选择一个合适的K值。很明显,K = 3 是这个图像的肘部,即“拐点”,当选取大于 3 的值,再改变K值对代价函数值得影响不大了,因此,K = 3 是最佳的选项。然而,在实际应用中,

2021-03-31 17:04:24 3147

原创 取数游戏~回溯与是否“取过这个数”的判断

题目描述输入输出样例34 467 75 63 1029 29 92 1421 68 71 568 67 91 252 387 70 8510 3 173 31 1 11 99 11 1 127117299AC Code#include <iostream>using namespace std;const int maxn = 15;int s[maxn][maxn] = {0};int vis[maxn][maxn] = {0};int d

2021-03-31 12:30:31 59

原创 健康的荷斯坦牛~回溯

题目描述输入输出样例4100 200 300 400350 50 50 50200 300 200 300900 150 389 3992 1 3AC Code#include <iostream>#include <cstring>using namespace std;const int maxn = 50;int a[maxn] = {0},b[maxn][maxn] = {0},c[maxn] = {0},d[maxn] = {0};

2021-03-31 12:17:43 64

原创 目前所遇到的numpy方法整理〇——持续更新

np.dot()x.dot(y),相当于np.dot(x,y),实现的是矩阵乘法,要求x是nm的矩阵,y是mn的矩阵。np.shape()使用np.shape(X),则返回矩阵X的长和宽,存储在一个一维元组里,即,倘若X为3*3的矩阵,则返回(3,3),如果X为四维行向量,则返回(4,)np.zeros()该方法的原型是:numpy.zeros(shape,dtype = float,order = 'C'),使用np.zero(2,5),则返回一个二行五列的矩阵。输出一个五行二列的0矩阵:.

2021-03-29 19:14:19 68

原创 Python实现线性回归

import numpy as npimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitnp.random.seed(123)# 以下是 随机的 数据集X = 2*np.random.rand(500,1) #通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。# print(X) ????通过添加参数(500,1)使X成为了一个

2021-03-29 18:49:44 190

原创 Python实现Logistic回归

import numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.datasets import make_blobsimport matplotlib.pyplot as pltnp.random.seed(123)#进行初始化X ,y_true = make_blobs(n_samples=1000,centers=2)# ????从make_blobs中取了1000个样本点,聚类中心有2

2021-03-29 18:48:38 716

原创 空调温度调节~关键的剪枝

题目描述输入样例7 3419 2810 10输出样例520AC Code#include <iostream>using namespace std;int A,B,ans = 65535;void dfs(int x,int s){ if(s>=ans) return; if(x == B){ ans = min(ans,s); return ; } if(x<B){ dfs(x+1,s+1); dfs(x+5,s+1);

2021-03-29 18:05:31 60

原创 Python实现KMeans聚类算法

import numpy as npimport matplotlib.pyplot as pltimport randomfrom sklearn.datasets import make_blobsnp.random.seed(123)X,y = make_blobs(centers = 4,n_samples = 1000) #make_bolbs 是为聚类产生数据集#n_samples 是待生成的样本的总数 n_samples = 1000 对应于 m = 1000#centers

2021-03-28 18:37:16 682

原创 聚类算法~无监督学习

什么是无监督学习?先来看看什么是监督学习,一个典型的监督学习例子:????一个带有标签的训练集 ,我们的目标是,找到一条能够区分正样本和负样本的决策边界。在监督学习中,我们有一系列的标签,然后我们需要用假设函数来拟合它。作为对比,在无监督学习中,我们的数据并不带有任何的标签,我们得到的数据是这样的????:数据集可直接表示为 x(1),x(2)…,x(n),没有y标签。对于这些数据,我们能做的就是在它们中间找到一些结构,而对于这个训练集,通过无监督学习可以将它分成两个簇,成为聚类算法(Clus

2021-03-28 17:01:22 375

原创 音量调节~01背包的到达问题

题目描述Code#include <iostream>using namespace std;const int maxn = 1005;const int Lim = 55;int a[maxn] = {0},f[Lim][maxn] = {0};int n,b,m;int main(){ cin>>n>>b>>m; f[0][b] = 1; for(int i=1;i<=n;i++){ cin>>a[i];

2021-03-27 09:34:05 102

原创 砝码称重~背包问题优化暴力搜索

题目描述AC Code#include <iostream>using namespace std;const int maxn = 1005;const int Lim = 200005;int a[Lim] = {0},b[] = {0,1,2,3,5,10,20},f[maxn] = {0},cnt = 0;int main(){ for(int i=1;i<=6;i++){ int n; cin>>n; while(n --){ a

2021-03-27 08:44:59 293

原创 背包问题求方案数

题目描述输入样例4 51 22 43 44 6输出样例2AC Code#include <iostream>using namespace std;typedef long long ll;const int maxn = 1005;const ll MOD = 1000000007;int a[maxn] = {0},b[maxn] = {0},f[maxn] = {0},g[maxn] = {0};int n,v,ans = 0,MAX = 0;voi

2021-03-25 18:54:38 86

原创 最短网络~Prim最小生成树算法

题目描述输入输出样例40 4 9 214 0 8 179 8 0 1621 17 16 028AC Code#include <iostream>using namespace std;const int maxn = 105;typedef long long ll;const ll INFINITY = 100005;int g[maxn][maxn] = {0},lowcost[maxn] = {0};int n;ll ans =

2021-03-23 17:40:05 96

原创 01背包问题和完全背包问题

01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出一个整数,表示最大价值。0<N,V≤10000<vi,wi≤1000输入:4 51 22 43 44

2021-03-23 17:12:18 102

原创 谁能赢呢?~初探博弈论(弱博弈)

题目描述输入样例20输出样例AliceAC Code#include <iostream>using namespace std;int main(){ int n; cin>>n; while(n){ if(n%2 != 0) cout<<"Bob"; else cout<<"Alice"; cout<<endl; cin>>n; } return 0;}解释①本题十分简

2021-03-17 16:50:21 109

原创 滑雪~初探记忆化搜索

题目描述输入样例5 51 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9输出样例25AC Code#include <iostream>using namespace std;const int maxn = 105;int s[maxn][maxn] = {0},r,c,ans = -65535;int res[maxn][maxn] = {0};int dx[] = {0,0,1,-

2021-03-16 18:51:44 101

原创 血色先锋队~带有技巧的广搜

题目描述输入样例5 4 2 31 15 43 35 32 4输出样例313AC Code#include <iostream>#include <cstring>#include <queue>using namespace std;typedef long long ll;const ll Lim = 100005;const int maxn = 505;struct xy{ int x,y,s;};bool vis

2021-03-16 17:52:29 147

原创 深度学习入门~什么是神经网络

什么是神经网络?“深度学习”指的是训练神经网络,有时候规模很大。那么神经网络时什么呢?以一个房价预测为例:使用线性回归,会得到一条直线,但是由于房价不会为负,因此使用直线不太合适:因此,去掉负数部分,使它们的值(所预测的房价)为0,比较合适????。这基本是最简单的神经网络了,如下图所示????。黑色的圈即代表一个神经元,神经元代表的就是这条预测曲线,这个神经网络的任务就是输入面积(房屋面积),完成线性运算,得到预测的房价。在神经网络文献中,经常可以看到一个叫做ReLU的曲线,全称为

2021-03-16 16:58:26 171

原创 机器学习入门~梯度检测

梯度检测什么是梯度检测:在神经网络或其他复杂的模型下使用前向传播,反向传播时,如果使用梯度下降来寻找参数,那么使用梯度检测会100%地消除梯度下降过程中产生的bug。一个例子:假设有一个代价函数J(Θ)在横轴上取一点θ(θ∈R),则这一点的导数对应于图像上在该点的切线斜率????。计算该点切线的斜率,可以做一个近似,即:在θ附近分别取点 θ+ε 和 θ-ε(易知ε为很小的值),两点在曲线上表现为 (θ+ε,J(θ+ε))和(θ-ε,J(θ-ε)),两点的割线斜率即可近似为θ点在曲线上的切

2021-03-15 14:06:33 587

原创 离开中山路~广搜的简单空间优化

题目描述输入样例30011011001 1 3 3输出样例4AC Code#include <iostream>#include <cstring>#include <string>#include <queue>using namespace std;const int maxn = 1005;bool m[maxn][maxn];struct xy{ int x,y,s;}xy1;queue<xy>

2021-03-15 09:01:34 94

原创 机器学习入门~理解反向传播算法

前向传播的过程上面的 +1 为偏置单元,故第一,二,三层只有两个神经元,不算偏执单元。对于前向传播,假设我们有输入数据 (x(i),y(i)) ????。因此,输入层设置的值为x1(i)和x2(i),对其进行前向传播,两个值传播到了第一个隐藏层,我们可以计算出z1(2)和z2(2),他们是输入单元的加权和。之后使用sigmoid函数激活z值,得到a值。之后继续向前传播????。直到通过激活z1(4)得到a1(4)输出值。具体的前向传播过程:????以第三层第二个单元的z值计算为例,z1(

2021-03-11 18:54:26 175

原创 查找文献~二维vector与图的遍历

题目描述请对这个图分别进行 DFS 和 BFS,并输出遍历结果。如果有很多篇文章可以参阅,请先看编号较小的那篇(因此你可能需要先排序)。输入样例8 91 21 31 42 52 63 74 74 87 8输出样例1 2 5 6 3 7 8 4 1 2 3 4 5 6 7 8 AC Code#include <iostream>#include <algorithm>#include <vector>#include <c

2021-03-11 13:40:13 242

原创 字符串哈希~C++STL中set容器的使用

题目描述AC Code#include <iostream>#include <string>#include <set>using namespace std;set<string> s;string p;int n;int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>p; s.insert(p); } cout<<s.size();

2021-03-11 12:37:09 448

原创 机器学习入门~神经网络在分类问题中的应用

代价函数先从一个神经网络的例子出发:L表示神经网络的总层数,简单来说就是列数。sl表示第l层的单元数,如s3 = 5,s4 = L = 4。考虑两种分类问题,即二分类问题和多分类问题????。很明显,对于二分类问题,输出只有1个,即0或1,则输出单元只有一个(sL = 1)且这个输出是 hΘ(x) ∈ R。而对于多分类问题,输出有K个(即输出单元有K个),输出hΘ(x)∈Rk,是一个k维向量(k ≥ 3)。使用的代价函数是逻辑回归中使用的代价函数(逻辑回归就是用于分类问题的)。图中

2021-03-10 21:05:23 452

原创 Patting Heads~基础数论问题

题目描述AC Code#include <iostream>using namespace std;typedef long long ll;const ll maxn = 1000005;ll a[maxn] = {0},b[maxn] = {0},cnt[maxn] = {0},MAX = -65535,n;int main(){ cin>>n; for(ll i=1;i<=n;i++){ cin>>a[i]; b[a[i]]++;

2021-03-10 13:21:55 91

原创 复习线性回归梯度下降、正规方程与逻辑回归

返校在即,现对假期所学机器学习知识做一个小小的梳理,再前进,磨刀不误砍柴工。线性回归的梯度下降①代价函数:平方差代价函数,公式为:J(θ) = 1/2m×Σmi=1(hθ(x(i)) - y(i)))2????其中,θ为假设函数hθ(x) = θT×X中的θ向量,用于存放参数,寻找到正确的参数,以最好地拟合数据集,就是线性回归要做的事情。②代价函数的作用:平方差代价函数表示的是预测值和真实值的偏差程度,因此,想要更准确地预测数据,应该使代价函数尽可能地小,因此,由于X向量为自变量(输入值,即根据

2021-03-08 17:20:09 230

原创 约数研究~某数n的i因子个数

题目描述输入样例3输出样例5AC Code#include<iostream>using namespace std;int n,ans = 0;int main(){ cin>>n; for(int i=1;i<=n;i++){ ans+=n/i; } cout<<ans;}解释〇本题思路来源于洛谷博主 引领天下。①解决本题,重点在于一个公式,即求某个数n的i因子个数公式(i = 1,2,3,…

2021-03-07 19:05:36 143

原创 素数筛模板~更快的欧拉筛

题目描述如题,给定一个范围 n,有 q 个询问,每次输出第 k 小的素数。输入格式第一行包含两个正整数 n,q,分别表示查询的范围和查询的个数。接下来 q 行每行一个正整数 k,表示查询第 k 小的素数。输出格式输出 q 行,每行一个正整数表示答案。输入样例100 512345输出样例235711AC Code#include <iostream>#include <cstring>#include <cstdio>us

2021-03-07 18:50:49 303

原创 编码~组合数学的应用

输入样例ab输出样例27AC Code#include <iostream>#include <string>using namespace std;string s;int c(int m,int n){ if(m == 0) return 1; int mul = 1; for(int i=n;i>n-m;i--){ mul *= i; } for(int i=m;i>1;i--){ mul /= i; } return .

2021-03-06 15:29:21 285

原创 添加括号~数论与gcd的应用

题目描述输入样例551 5 5 2 4 51 5 3 3 1 54 2 5 1 3 54 2 3 3 5 54 3 3 3 4 输出样例YesNoYesYesYesAC Code#include <iostream>#include <cstdio>using namespace std;typedef long long ll;int gcd(int a,int b){ if(a%b == 0) return b; re

2021-03-06 09:36:43 100

原创 遍历问题~已知二叉树的前序和后序遍历,求其中序遍历的个数

题目描述输入格式abc cba输出格式4AC Code#include <iostream>#include <string>using namespace std;int main(){ int ans = 0; string s1,s2; cin>>s1>>s2; for(int i=0;i<s1.length();i++){ for(int j=1;j&lt

2021-03-05 18:34:15 676

原创 最大加权矩形~前缀和与dp的综合应用

题目描述输入样例40 -2 -7 0 9 2 -6 2-4 1 -4 1 -1 8 0 -2输出样例15AC Code#include <iostream>using namespace std;const int maxn = 155;int a[maxn][maxn] = {0};int main(){ int n,ans = -65535; cin>>n; for(int i=1;i<=n;i++){ for(int j=

2021-03-05 16:06:59 297

原创 团伙~并查集进阶

输入样例164E 1 4F 3 5F 4 6E 1 2输出样例13输入样例210050E 52 85E 32 49E 33 84E 31 42E 39 50E 19 36E 90 93E 26 41E 24 73E 59 78E 62 69E 16 65E 35 60E 86 87E 15 38E 12 95E 29 66E 13 40E 10 57E 46 81E 72 89E 48 63E 47 68E 64 97E 23 2.

2021-03-04 16:23:08 112 1

原创 最大公约数~gcd算法

今天上了算法设计与分析的网课,读到了gcd最大公约数算法的辗转相除法,在脑中回忆不得,故复习一下。gcd算法的递归写法:int gcd(int a,int b){ if(a%b == 0) return b; return gcd(b,a%b);}????上述算法不必考虑a和b的大小,因递归的过程中已经考虑调换大小次序了,即,如果 b>a,那么return gcd(b,a%b);会将b给到a的位置,而a%b = a。...

2021-03-04 13:51:45 738 1

原创 家谱~map容器与并查集

输入样例#George+Rodney#Arthur+Gareth+Walter#Gareth+Edward?Edward?Walter?Rodney?Arthur$输出样例Edward ArthurWalter ArthurRodney GeorgeArthur Arthur说明提示AC Code#include <iostream>#include <string>#include <map>using namesp.

2021-03-03 22:46:41 134 1

原创 搭配购买~并查集+dp

题目描述明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有 n 朵云,云朵已经被老板编号为 1,2,3,…,n,并且每朵云都有一个价值,但是商店的老板是个很奇怪的人,他会告诉你一些云朵要搭配起来买才卖,也就是说买一朵云则与这朵云有搭配的云都要买,电脑组的你觉得这礼物实在是太新奇了,但是你的钱是有限的,所以你肯定是想用现有的钱买到尽量多价值的云。输入格式输出格式一行,表示可以获

2021-03-01 10:08:33 122

空空如也

空空如也

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

TA关注的人

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