自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷——P1162 填涂颜色【bfs】

传送门使用方法:y总走迷宫宽搜代码+一点小技巧小技巧:由于宽搜会导致边界0遍历不到,误认为也是连通块,所以要在整个地图上多加一圈的0,这样凡是不是标准的连通块,都会被遍历到。这个方法还有一个好听的名字:漫水填充法(好像)#include <bits/stdc++.h>using namespace std;typedef pair<int,int >PII;const int N=32;int n;int g[N][N],d[N][N];void bfs(){

2021-02-27 11:41:50 203 3

原创 专题六——复杂DP

1.1050.鸣人的影分身状态表示:f(i,j):所有总和是i且分成j个数的总方案状态计算:分成两个集合:最小值是0:f(i,j-1);最小值不是0::让每个方案里面的数减一:f(i-j,j)f(i,j)=f(i,j-1)+f(i-j,j)#include <bits/stdc++.h>using namespace std;const int N=11;int f[N][N];int main(){ int T; scanf("%d",&T);

2021-02-20 11:20:58 198

原创 专题五——数论应用

1.1246.等差数列欧几里得算法应用#include <bits/stdc++.h>using namespace std;const int N=100010;int a[N];int gcd(int a,int b){ return b?gcd(b,a%b):a;}int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]);

2021-02-18 12:43:19 237

原创 专题四——线段树、树状数组

树状数组:快速求前缀和 O(logn)两种基本操作:①给某个位置上的数加上一个数②求某一个前缀和1.1264. 动态求连续区间和【三个模板要记住】#include <bits/stdc++.h>using namespace std;const int N=100010;int n,m;int a[N],tr[N];int lowbit(int x){ return x&-x;}void add(int x,int v){ for(int

2021-02-14 12:06:43 128

原创 模板题——搜索

1.基本DFS#include <bits/stdc++.h>using namespace std;int n;int path[10];//记录每个位置上的数字是几int st[10];void dfs(int u)//u表示当前层数{ if(u==n)//u恰好走到最后一层 { for(int i=0;i<n;i++) printf("%d ",path[i]); puts(""); return;

2021-02-12 13:47:22 165 1

原创 专题三——枚举、模拟、排序

1.1236. 递增三元组方法一:二分要在ac两个数组中找严格小于或大于b[i]的第一个位置【经过我与大佬的苦苦钻研才改好/(ㄒoㄒ)/~~】#include <bits/stdc++.h>using namespace std;typedef long long ll; const int N=100010;ll a[N],b[N],c[N];ll ax[N],cx[N];ll cnt[N],s[N];ll n;ll finda(ll a[],ll u){ ll

2021-02-10 14:10:53 158

原创 专题二——数学问题与简单DP

1.买不到的数目记住公式即可#include <bits/stdc++.h>using namespace std;int main(){ int p,q; cin>>p>>q; printf("%d\n",p*q-q-p); return 0;}2.蚂蚁感冒分情况讨论,最终代码可以合二为一的写#include <bits/stdc++.h>using namespace std;const in

2021-02-08 14:01:24 172

原创 专题一——递归与递推

1. 92.递归实现指数型枚举时间复杂度:O(n*2n2^n2n)#include <bits/stdc++.h>using namespace std;const int N=16;int n;int st[N];void dfs(int u)//u表示当前在做第几位{ if(u>n) { for(int i=1;i<=n;i++) if(st[i]==1) printf("%d ",i);

2021-02-05 13:39:44 122

原创 模板题——贪心(2)

1.合并果子【哈夫曼树】#include <bits/stdc++.h>using namespace std;int n;int main(){ cin>>n; priority_queue<int, vector<int >,greater<int> >heap; int x; while(n--) { cin>>x; heap.push(x);

2021-02-04 12:13:01 126

原创 模板题——贪心(1)

1.区间选点和最大不相交区间数量【妙啊】#include <bits/stdc++.h>using namespace std;const int N=100010;int n;struct Range{ int l,r; bool operator<(const Range &W) const//结构体内重载 { return r<W.r; }}range[N];int main(){ scanf(

2021-02-03 13:50:14 116

原创 模板题——数位DP、状态压缩、记忆化搜索

1.整数的划分完全背包解法状态表示:f[i][j]表示只从1~i中选,且总和等于j的方案数状态转移方程:f[i][j] = f[i - 1][j] + f[i][j - i]#include <bits/stdc++.h>using namespace std;const int N=1010,mod=1e9+7;int n;int f[N];int main(){ cin>>n; f[0]=1; for(int i=1;i<=n;

2021-02-03 10:58:33 142

原创 模板题——线性DP基础+区间DP

1.数字三角形【由下到上】#include <bits/stdc++.h>using namespace std;const int N=505;int n;int f[N][N],a[N][N];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=i;j++) scanf("%d",&a[i][j]); for(int

2021-02-01 15:32:01 196

原创 模板题——背包问题

1.01背包思路分析状态表示:f[i][j]表示只看前i个物品,总体积是j的情况下,总价值最大是多少答案是:result=max{f[n][0~v]}状态转移:f[i][j]1.不选第i个 f[i][j]=f[i-1][j]2.选第i个 f[i][j]=f[i-1][j-v[i]]初始化:f[0][0]=0f[i][j]=max(1.2.)朴素代码#include <bits/stdc++.h>using namespace std;const int N=1010;

2021-01-31 14:28:06 177

原创 模板题——容斥原理、博弈论

1.容斥原理#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=20;int p[N];int main(){ int n,m; cin>>n>>m; for(int i=0;i<m;i++) cin>>p[i]; int res=0; for(int i=1;i<1<<m;i++

2021-01-30 13:57:39 154 1

原创 模板题——中国剩余定理,求组合数,卡特兰数

1.中国剩余定理(还没太理解推导过程(lll¬ω¬)):拓展欧几里得算法与反复迭代#include <bits/stdc++.h>using namespace std;typedef long long ll;ll exgcd(ll a,ll b,ll &x,ll &y){ if(!b) { x=1,y=0; return a; } ll d=exgcd(b,a%b,y,x); y-=a/b*x

2021-01-29 14:14:12 166

原创 模板题——快速幂,高斯消元

1.快速幂模板#include <bits/stdc++.h>using namespace std;typedef long long ll;int qmi(int a,int k,int p){ int res=1; while(k) { if(k&1) res=(ll) res*a%p; k>>=1; a=(ll)a*a%p; } return r

2021-01-28 14:01:48 148

原创 模板题——质数、素数、约数

1.试除法判断质数:O(sqrt(n))#include <bits/stdc++.h>using namespace std;bool is_prime(int n){ if(n<=1) return false; for(int i=2;i<=n/i;i++) if(n%i==0) return false; return true;}int main(){ int n; cin>>n;

2021-01-27 15:45:27 137

原创 模板题——图论相关(2)

1.Floyd求最短路#include <bits/stdc++.h>using namespace std;const int N=210,INF=1e9;int n,m,q;int d[N][N];//邻接矩阵void floyd(){ for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[i][j]=min(d[i][j],d[

2021-01-26 14:30:19 141

原创 模板题——图论相关(1)

1.广搜:输出1号点到n号点的最短距离#include <bits/stdc++.h>using namespace std;const int N=100010;int h[N],e[N],ne[N],idx;int d[N];int m,n;void add(int a,int b){ e[idx]=b;ne[idx]=h[a];h[a]=idx++;}int bfs(){ queue<int >q; memset(d,-1,siz

2021-01-25 14:06:56 111

原创 蛇形矩阵

1.纯手写#include <bits/stdc++.h>using namespace std;const int N=110;int main(){ int m,n,a[N][N],sum=1; cin>>n>>m; int i,j,k; for(k=1; k<=floor(min(n,m)/2); k++) { for(j=k; j<=m-k+1; j++) {

2021-01-22 15:04:09 98

原创 模板题——堆排序 哈希表 字符串哈希

1.堆排序#include <bits/stdc++.h>using namespace std;const int N=100010;int n,m;int h[N],sizee;void down(int u){ int t=u; if(u*2<=sizee&&h[u*2]<h[t]) t=u*2; if(u*2+1<=sizee&&h[u*2+1]<h[t]) t=u*2+1; if(

2021-01-21 14:56:50 138

原创 模板题——KMP Trie树 并查集

1.KMP算法模板#include <bits/stdc++.h>using namespace std;const int N=100010,M=1000010;char p[N],s[M];int ne[N];int main(){ int m,n; cin>>n>>p+1>>m>>s+1; for(int i=2,j=0;i<=n;i++) { while(j&&a

2021-01-21 10:45:53 184

原创 模板题——单链表双链表,数组模拟的栈和队列,单调栈和单调队列

1.单链表【数组模拟链式存储结构】#include <bits/stdc++.h>using namespace std;const int N=100010;int e[N],ne[N];int head,idx;void init(){ head=-1;//头指针 idx=0;//当前空指针}void add_to_head(int x){ e[idx]=x; ne[idx]=head; head=idx; idx++;

2021-01-20 15:01:30 145

原创 模板题——位运算,离散化,区间合并

1.位运算模板:#include <bits/stdc++.h>using namespace std;const int N = 100010;//lowbit函数作用:返回x的最后一位1int lowbit(int x){ return x & (-x);}int main(){ int n; cin >> n; while(n --) { int a; cin>>a; int

2021-01-20 14:57:39 110 1

原创 模板题——高精度

1.加法#include <bits/stdc++.h>using namespace std;vector<int> add(vector<int>&a, vector<int >&b){ vector<int> c; int t=0; for(int i=0;i<a.size()||i<b.size();i++) { if(i<a.size()) t+=

2021-01-17 14:49:26 126

原创 模板题——前缀和与差分

1.前缀和#include <bits/stdc++.h>using namespace std;const int N=100005;int a[N],s[N];int main(){ s[0]=0; int n,m,l,r; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) s[i]=a

2021-01-17 14:47:40 157

原创 模板题——快排、归并、二分

1.快速排序模板#include <bits/stdc++.h>using namespace std;const int N = 1000010;int q[N];void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[(l+r)/2]; while (i < j) { do i ++

2021-01-16 13:40:23 126

原创 牛客小白月赛31——补题记

参加完比赛,AC率1/10,最大的收获是int t;cin>>t;while(t--){}那是写的相当熟练了(????)下面上题目列表A-A|B位运算题目,我目前还没有提交这道题,只是刚刚看懂代码,注释还有点小疑问,在这里先把注释粘过来了,以后做的多了应该自然就能理解了吧????作者:LYU_舌尖上的友谊链接:https://ac.nowcoder.com/discuss/587485?type=101&order=0&pos=17&page=1&

2021-01-13 23:31:05 215

原创 洛谷——P1219 [USACO1.5]八皇后 Checker Challenge

P1219 [USACO1.5]八皇后 Checker Challenge代码是参照郭炜老师的代码写的,不过一直87无法通过,后来知道因为算法纯递归调用过于朴素,要开o2优化,对于代码的理解可以参考下面的注释(我写的),如果还不理解,可以去看郭炜老师的课#include <bits/stdc++.h>using namespace std;int N;int queenPos[20];//存放k个皇后的位置void NQueen(int k);int n=0;int main()

2021-01-07 17:58:17 174

原创 洛谷——【数据结构1-1】线性表

P3613 【深基15.例2】寄包柜因为在数据结构题单下面嘛,所以我用了邻接表存储,结果RE了。经过大佬指点迷津,它又变成了一份(不,是两份)好代码(●ˇ∀ˇ●)RE代码变成AC代码#include <bits/stdc++.h>using namespace std;//邻接表存储typedef struct LList{ int j; long long data; struct LList *next;} LNode;typedef struct

2021-01-04 13:48:01 245

原创 数据结构——单链表操作(一)——基础用法

一.单链表结点的类型定义:普通结构体变量或者指向结构体的指针变量typedef int Elemtype;typedef struct node{ Elemtype data; struct node *next;}LNode,*Linklist;声明的相对应操作:LNode *h,*p;//定义一个结点Linklist h,p;//定义头指针(*p)表示p所指向的结点(*p).data<=>p->data表示p指向结点的数据域(*p).next&l

2020-09-27 14:24:53 379

原创 机器学习实战——美国疫情数据

题目要求所谓“看花容易绣花难”,学了近一个月机器学习,实战(完全靠自己的项目)还是第一次做,尽管头有点大,但还是很有信心做好的!

2020-09-06 16:00:11 4542 6

原创 图像识别实战——天气分类

首先来看一下题目要求①收集数据,并标注数据来源与方式:在百度上进行搜索,发现了和鲸社区搜索:天气图片数据集进入,点击进入@article{RSCM2017,title = {RSCM: Region Selection and Concurrency Model for Multi-class Weather Recognition},author = {Di Lin and Cewu Lu and Hui Huang and Jiaya Jia},journal = {IEEE T

2020-09-06 15:59:58 10455 18

原创 CS231N课程笔记学习一——图像分类

不得不说,cs213n课程是真的难,开始小哥哥讲损失函数,回归模型,我还勉强跟上,后来小姐姐讲课,我真的——人傻了/(ㄒoㄒ)/~~,但是斯坦福大学的课程不能不上啊(尽管对牛弹琴),所以在网上寻找资源,开始“自学”。。。1.图像分类图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。计算机视觉领域中很多看似不同的问题(比如物体检测和分割),都可以被归结为图像分类问题。一个图片例子:猫的图像大小是宽248像素,高400像素,

2020-08-23 22:49:59 277

原创 keras 初步学习

1.keras 实现线性回归模型import tensorflowimport kerasfrom keras.models import Sequentialimport numpy as npimport matplotlib.pyplot as pltx = np.linspace(0,100,30)y = 3*x +7 +np.random.randn(30)*6plt.scatter(x,y)plt.show()model = keras.Sequential() # 建立顺序

2020-08-20 12:22:33 525

原创 scikit-learn 算法的通用形式

1.knn算法# 1.数据准备from sklearn import datasetsfrom sklearn.model_selection import train_test_splitiris = datasets.load_iris()x = iris.datay = iris.target# x,y = datasets.load_iris(return_X_y=Ture)x_train, x_test ,y_train, y_test = train_test_split(x,y

2020-08-18 20:32:45 306

原创 Matplotlib 入门(详看注释)

一.matplotlib 画线(基本用法)import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-1,1,50)y = 2*x+1z = x**2plt.plot(x,y)# 坐标轴,画成线plt.plot(x,z)plt.show()(两条不同的曲线画在同一张图里了~)分别画在两张图上plt.figure()plt.plot(x,y)# 坐标轴,画成线plt.figure()plt.plot(x,z

2020-08-17 13:52:42 2535

原创 pandas 入门(详看注释)

一.pandas 简介numpy 相当于列表,那么pandas 相当于字典,就是比numpy 高级了一点点~import numpy as npimport pandas as pds = pd.Series([1,3,6,np.nan,44,1])print(s)看一下输出,自动加上序号,还有数据类型创建一个行索引dates = pd.date_range('20200816',periods=6)print(dates)创建一个有名字的numpy数组df = pd.Data

2020-08-17 10:34:21 1083

原创 Numpy入门(详看注释)

一.列表转数组import numpy as nparray = np.array([[1,2,3],[2,3,4]])print(array)print('number od dim',array.ndim) #查看数组的维数print('shape',array.shape)# shape:行数和列数print('size',array.size)#总共会有多少个元素

2020-08-16 23:00:21 521

原创 Machine Learning ——Homework 8

# 机器学习练习8 异常检验算法import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sbfrom scipy.io import loadmatdata = loadmat('E:\PyCharm\数据\ex8data1.mat')X = data['X']fig, ax = plt.subplots(figsize=(12,8))ax.scatter(X[:,0],X

2020-08-12 16:30:53 179

空空如也

空空如也

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

TA关注的人

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