自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wlis的博客

当你的才华支撑不起你的野心时,只有静下心来好好学习!

  • 博客(25)
  • 收藏
  • 关注

原创 背包九讲

一.01背包题目描述有NNN件物品和一个容量为VVV的背包。第i件物品的费用是w[i]w[i]w[i],价值是v[i]v[i]v[i],求将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][j]f[i][j]f[i][j]表示前iii件物品恰放入一个容量为jjj的背包可以获得的最大价值。则其状态转移方...

2019-10-30 20:25:56 389

原创 线性模型正则化

一、正则线性模型减少过度拟合的一个好办法就是对模型正则化(即约束它):它拥有的自由度越低,就越不容易过度拟合数据。比如,将多项式模型正则化的简单方法就是降低多项式的阶数。对线性模型来说,正则化通常通过约束模型的权重来实现。常见的对权重进行约束的方法有:岭回归(Ridge Regression)、套索回归(lasso Regression)及弹性网络(Elastic Regression)。二...

2020-01-08 21:50:12 1667

原创 Logistic回归

文章目录一、数据集1.导入数据集2.测试数据集二、二元分类器1.逻辑回归2.训练逻辑回归模型三、多类别分类器1.Softmax回归2.训练Softmax回归模型四、性能评估一、数据集1.导入数据集鸢尾植物数据集:这是一个非常著名的数据集,共有150朵鸢尾花,分别来自三个不同品种:Setosa鸢尾花、Versicolor鸢尾花和Virginica鸢尾花,数据里包含花的萼片以及花瓣的长度和宽度。...

2020-01-06 17:05:07 465

原创 Jupyter notebook学习笔记——线性回归、多项式回归

import numpy as npX=2*np.random.rand(100,1)y=4+3*X+np.random.randn(100,1)from sklearn.linear_model import LinearRegressionlin_reg=LinearRegression()lin_reg.fit(X,y)LinearRegression(copy_X=True,...

2020-01-04 17:46:32 5885 2

原创 随机梯度下降(SGD)分类

文章目录一、数据导入1.数据集2.导入数据集3.测试数据集二、准备测试集三、二元分类器四、性能考核1.使用交叉验证测量精度2.混淆矩阵3.精度和召回率4.ROC曲线五、多类别分类器六、错误分析一、数据导入1.数据集MNIST:是一组由美国高中生和人口调查局员工手写的70000个数字的图片。每张图像都用其代表的数字标记。这个数据集被广为使用,因此也被称作是机器学习领域的“Hello World...

2020-01-03 22:26:11 5134 1

原创 强连通分量、割点、割边

一、强连通分量分解1.什么是强连通分量对于一个有向图顶点的子集SSS,如果在SSS内任取两个顶点uuu和vvv,都能找到一条从uuu到vvv的路径,那么就称SSS是强连通的。如果在强连通的顶点集合SSS中加入其它任意顶点集合后,它都不再是强连通的,那么就称SSS是原图的一个强连通分量(SCC:StronglyConnectedComponentSCC:Strongly Connected Co...

2019-12-03 22:07:39 447

原创 网络流——最大流

一、什么是网络流网络流是指给定一个有向图,其中有两个特殊的点:源点sss(Source)和汇点ttt(Sink);每条边都有一个指定的流量上限,下文均称之为容量(Capacity),即经过这条边的流量不能超过容量,这样的图被称为网络流图。同时,除了源点和汇点外,所有点的入流和出流都相等,源点只有流出的流,汇点只有流入的流,网络流就是从 sss 到 ttt 的一个可行流。二、可行流、最大流定义...

2019-11-27 16:10:23 4740 1

原创 拓扑排序

1.什么是拓扑排序在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:1.每个顶点出现且只出现一次。2.若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例...

2019-11-19 22:53:10 438

原创 洛谷P1197星球大战题解

题解之前的小故事——细节决定成败细节决定成败细节决定成败两天前为了练习并查集,在洛谷做了这道题,刚开始的时候没有思路就去看了题解,找到解题方向后就去自己写了代码,在本地通过样例后就去提交,结果只通过了四个点,就回去检查自己的代码,发现没有什么大问题,就去看了题解的代码,发现解题思想是一致的,就又交了一发,结果还是死活WA了六个点只有40分,又回去检查代码,发现真的没有什么问题啊,我想是不是测试点...

2019-11-04 16:55:50 457

原创 常见数论问题集合

1. 求最大公约数欧几里得算法(辗转相除法)int gcd(int a,int b){ return b?gcd(b,a%b):a;}扩展欧几里得算法int extgcd(int a,int b,int &x,int &y){ int d=a; if(b){ d=extgcd(b,a%b,y,x); y-=(a/b)*x; ...

2019-10-13 16:51:50 1502

原创 树状数组

1.什么是树状数组树状数组(Binary Indexed Tree,BIT)是能够完成下述操作的数据结构。给一个初始值全为0的数列a1,a2,···,an 给定i,计算a1+a2+···+ai 给定i和x,执行ai+=x2.BIT的结构如图,其中A为普通数组,C为树状数组(C在物理空间上和A一样都是连续存储的)。从图中可以得出:C1 = A1C2 = C1 + A2 = A...

2019-09-27 15:46:11 588

原创 线段树详解

1.什么是线段树线段树是一颗完全二叉树,树上的每个节点都维护一个区间。根维护的是整个区间,每个节点维护的是父亲的区间二等分后的其中一个子区间。当有n个元素时,对区间的操作可以在O(logn)的时间内完成。根据节点中维护的数据不同的不同,线段树可以提供不同的功能,如RMQ、RSQ等。对于数组[2, 5, 1, 4, 9, 3]可以构造如下的二叉树(背景为白色表示叶子节点,非叶子节点的值是其对应...

2019-09-25 22:41:58 671

原创 二分答案/查找

1.什么是二分答案二分答案就是通过对所有可能的答案区间进行折半查找,不断缩减范围,最终确定答案的方法。2.二分条件有上下界区间有单调性我们假设整个序列具有单调性,且一个数x为可行解,那么一般的,所有的 x’(x’<x) 都是可行解。并且,如果有一个数y是非法解,那么一般的,所有的 y’(y’>y) 都是非法解。考虑所有可行解,我们肯定是要从这些可行解中找到一个最好的作为...

2019-09-22 17:18:26 474

原创 欧拉回路/路径

1.什么是欧拉回路/路径欧拉路径:在一个图中,由i点出发,将每个边遍历一次最终到达j点的一条路径。欧拉回路:i=j时的欧拉路径。2.怎么判断欧拉回路/路径存在欧拉回路/路径前提 图是连通的无向图中在无向图中(连通图),只要每个点的度数(连接的边数)均为偶数,就会存在欧拉回路因为每个点的度数为偶数,所以可以将整个图看做由数个环嵌套而成,因为环一定能找到一条欧拉回路...

2019-09-18 14:17:57 986

原创 最短路问题+最小生成树

最短路问题1.Dijkstra(迪杰斯特拉)算法图的存储链式前向星法int N,M,dix; //图的最大顶点数和边数int h[N]; //顶点数组struct node{int e,v,next;}edge[M];//添加边void add(int a,int b,int c) //边起点、终点、权值{edge[++dix].e=b;edge[dix].v=...

2019-09-11 18:32:19 587

原创 并查集

来自《挑战程序设计竞赛》

2019-09-08 10:29:21 743

原创 高精度算法

高精度:就是在很大的位数情况下进行运算。(炸int甚至long long)其基本思想就是用数组进行模拟加法。模拟近位。 最后遍历数组输出。附上高精加,减,乘代码。除法以后写了补上。1. 高精度加法原题点这里#include <bits/stdc++.h>using namespace std;string a,b,str;string add(string s1,st...

2019-09-05 21:19:29 459 1

原创 C++中int类型与char,string类型的互换

这是本蒟蒻刚刚做完一道题在看题解时发出的呼喊声。。。引出今天的主题前先给大家看道题吧题目描述输入输出格式输入输出格式输入样例:313 312 343输出样例34331213看完题是不是感觉很简单,就是字符串的排序问题,因为string类自定义了大小排序,我们可以写一个CMP函数作为sort的第三个参数,但我们要注意的是我们比较的应该是a+b而不是a和b,为什么呢?因...

2019-07-18 11:32:54 502

原创 深度优先搜索dfs(附模板+例题讲解)

讲深搜的话,拿经典的迷宫问题来说明是最好的,刚好最近在洛谷上刷到了一道迷宫题,就以它为例了,原题在下面P1605 迷宫题目要求输入输出格式输入输出样例输入样例:2 2 11 1 2 21 2输出样例:1【数据规模】1≤N,M≤5题目整体来说比较简单,思路就是使用深搜一个一个查,用两个数组分别标记走过的点和障碍物,使用自动选择方向来简化代码,没有遇到障碍物并且不是...

2019-07-16 17:59:57 5503 4

原创 int向下取整/向上取整

原题点这里这道题主要考察的是排序,有个方便的方法就是定义一个结构体,存储每个志愿者的报名号和笔试分数,然后定义一个排序就OK了值得注意的是,题目里有一个要求是取给定人数×150%(向下取整)的分数作为面试分数线,这里顺便提一下c++里面的两个取整函数:地板函数(floor)和天花板函数(ceil)。举个栗子floor(10.5) == 10 floor(-10.5) == -11c...

2019-07-11 11:43:30 20594

原创 贪心算法的简单应用

今天在洛谷刷到了一道简单的贪心算法题,在这里给大家分享一下,顺便提一下在做这道题的时候发现的一个巨坑(费尽心思才找出来的呜呜呜)这是原题P1056 排桌椅仔细审题之后,发现这是一道贪心算法的简单应用,可以用两个数组分别存放每一行和每一列上交头接耳的人的对数,然后再分别开辟一个数组存放人数最多的前K和L个行和列,再进行一趟排序就可以AC了上代码#include <bits/stdc+...

2019-07-10 14:52:58 258

原创 KMP字符串匹配

next数组(递推法)void GetNext(char* p,int next[]){ int pLen = strlen(p); next[0] = -1; int k = -1; int j = 0; while (j < pLen - 1) { //p[k]表示前缀,p[j]表示后缀 if (k == -1 || p[j] == p[k]) { +...

2019-07-10 10:35:45 135

原创 分数取模(快速取模法+小费马定理)

这周打了牛客竞赛周赛,结果在第一道题就卡死了(呜呜呜)这是原题牛客练习赛49拿到题后,本蒟蒻想着不就是一道排序题吗,就直接写了一个快速排序输出,结果直接WA了。百思不得其解,这时后台发来了一个广播消息:提示:如果不能整除,输出分数取模后的结果。what???分数取模,虽然刚刚学过密码学的时候接触过,但不知道算法怎么写啊,果断地去百度了一下,找到了小费马定理:a^p-1 mod p = 1 ...

2019-07-09 13:14:35 18353 2

原创 欧拉筛法

寻找素数:欧拉筛法时间复杂度O(n) (目前发现复杂度最小级别的)const int maxn=100000001;int prime[maxn]; //就是个素数表bool sf[maxn]; //判断这个数是不是素数,sf[i]中的i是从1到maxn的数void sushu(){ //核心 欧拉筛代码 int num=0; ...

2019-07-05 09:00:52 1827

原创 ACM集训第一天

下午刚来集训,在题库里刷了四道题,第一道题和第二道题都比较基础,第三道题还挺有意思的,跟大家分享一下。这是一道动态规划题,可以根据样例模拟一下 , 就可以求出状态转移方程了。步骤大概是这样的:A点 , B点,M是马的位置,X是被马拦着不能走的点(别告诉我你们连马走"日"字都不知道)其中每个点的值代表的是从AA点走到这个位置需要用多少步这样很容易能看出来关于 f[i][j]f[i][j...

2019-07-01 21:10:56 472

空空如也

空空如也

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

TA关注的人

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