自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 合唱队 区间dp

该题目要求我们得到一个目标序列,求所有原始序列能得到这个目标序列的数量根据题目要求数据插入顺序为从左到右,如果比前一个数大就到序列最右,如果比前一个数小,就到序列的最左边,那么如果我们要满足目标序列,我们就需要从目标序列出发,且目标序列中相邻的两个数,后一个数则必须插入前一个数的左边或者右边才能满足目标式子 .总结一下就是:左端点的数只与下一个或者右端点的在初始序列中相邻,右端点的数只与前一个或者左端点的在初始序列中相邻// 合唱队.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结

2021-10-15 20:32:44 101

原创 字符串折叠

该题与一般的区间dp有点区别在于我们的dp值是由该序列可否折叠得来,与一般的动态规划的转移方程是不一样的,这题区间的dp值体现从i到j最小的折叠数,可能这个折叠有1也就是不折叠,或者2,3,4取决于这个序列的长度,所以我们的dp值是由更小的序列最优值得来的,所以很明显我们需要使用区间dp的思想。// 字符串折叠.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<string>#include

2021-10-13 19:48:59 183

原创 librosa基础知识(杂七杂八的东西)

采样率:采样率是每秒钟的采样次数MP3结构:MP3大体分上三部分,也就是最前面的IDV2,中间的数据帧,后面的IDV1。帧大小:每帧采样数,表示每一帧中采样点的个数,这是一个恒定值帧长度:是压缩时每一帧的长度,包括帧头。它将填充的空位也计算在内。LayerI的一个空位长4字节,LayerII和LayerIII的空位是1字节。当读取MPEG文件时必须计算该值以便找到相邻的帧。每帧播放持续时间 = 帧大小 / 采样率...

2021-10-13 15:24:51 225

原创 librosa学习好博客

这个是讲fft之后的横坐标的网站

2021-10-12 20:25:39 60

原创 2021-09-29

、// 矩阵取数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn = 100;int n, c;int dp[maxn][maxn][2];//dp的意义是将从i到j的所有灯全部关掉的最小的代价,而第三

2021-09-29 20:31:45 47

原创 石头合并 DP区间

// 石子取数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>//区间dp经典例题,如果能随机将两个石碓堆在一起的话,那就是哈弗曼树贪心问题了//这题石头是排成一个环的,区间DP就是从一个个小区间推出一个大区间,当然视题目而定也有状态转移而来的区间.using namesp

2021-09-28 20:55:54 57

原创 乌龟棋 dp

// 乌龟棋.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn = 50;int f[maxn][maxn][maxn][maxn];int number[100000];int M[10];bool

2021-09-24 19:18:34 75

原创 传纸条 DP

// 传纸条.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn = 70;int d[maxn][maxn][maxn][maxn];int dp[2*maxn][maxn][maxn];int vis[

2021-09-24 16:58:06 94

原创 守望者的逃离

// 守望者的逃离.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn = 500000;int d[maxn];//一道比较经典的贪心题目,我们可以注意到这一题他一个闪现的距离是大于走3S的距离的,所以我们

2021-09-21 18:46:10 111

原创 加工生产调度

#include<algorithm>//为贪心算法问题//大伙用的都是johnson的算法,简称为双机调度算法#include<iostream>#include<cstring>#include<string>using namespace std;const int maxn = 5000;int a[maxn];int b[maxn];int order[maxn];struct c { int belong, time, id

2021-09-17 20:01:51 101

原创 切蛋糕 贪心

// 切蛋糕.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>//这是一个贪心+二分查找+dfs的一个问题const int maxn = 10000;using namespace std;int cake[maxn];int mouth[maxn];int prec

2021-09-17 19:45:41 132

原创 完美的服务

// 完美的服务.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn = 50000;struct edge { int to; int next;};edge edges[maxn];//前向星存图

2021-09-15 21:03:29 60

原创 2021-09-13

// 贪吃的九头蛇.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。////这个题显然是一个树形dp。我们先来总结一下树形dp的套路://定义f数组意义,注意要考虑到题目的一些特殊要求(比如本题的大头),还要考虑到如何输出结果。//思考如何将一个点的所有f值由这个点的儿子节点转移过来,即我们常说的状态转移方程。//将方程放到dfs深搜中更新f值,最终输出答案。别人总结的套路#include <iostream>#include<algorithm

2021-09-13 16:22:25 63

原创 劲爆金曲解析

// 劲歌金曲.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;int song;int dp[180 * 50 + 678 + 10];int n;int main(){ //这题我本来想着用二维数组来做,但其实用滚动数组来做就

2021-09-09 20:36:31 52

原创 最长公共子序列

// 最长公共子序列.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;const int maxn = 100005;int dp[maxn];int a[maxn];int map[maxn];int b[maxn];/*/

2021-09-09 20:23:19 73

原创 最小回文串记录

// 最小回文串.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<cstring>#include<string>using namespace std;string s;const int maxn = 1005;int temp[maxn][maxn];int d[maxn];/*bool pre_slove(

2021-09-09 20:05:14 140

原创 吴恩达第六次的编程作业

#https://jingyan.baidu.com/article/72ee561a91f013a06038df63.html 关于向量机最大化间距的数学原理可参考这篇文章import numpy as npimport pandas as pdimport scipy.io as sioimport matplotlib.pyplot as pltfrom sklearn import svmfrom sklearn import metricsimport seaborn as sns

2021-09-09 17:00:21 94

原创 吴恩达第五次作业

该作是第五次的机器学习的编程作业,为了看看数据有没有高偏差或者高方差import numpy as npimport scipy.io as sioimport scipy.optimize as optimport pandas as pdimport matplotlib.pyplot as pltdef load_data():#运用scipy来加载matlab的数据 data=sio.loadmat("ex5data1.mat") #map函数的作用是将第一个参数作用到

2021-09-09 15:59:04 66

原创 机器学习反向传播算法实现分类 吴恩达作业题

import matplotlib.pyplot as pltimport numpy as npimport scipy.io as sio #此为载入matlab数据所需要的包import matplotlib #作图函数import scipy.optimize as opt #此为优化函数所需要的包#提取数据函数def load_data(path,transfer=True): data=sio.loadmat(path) y=data.get('y') pri

2021-08-11 17:20:12 278

原创 机器学习逻辑回归实现多分类与前向神经传播实现多分类

import matplotlib.pyplot as pltimport numpy as npimport scipy.io as sioimport matplotlibimport scipy.optimize as optfrom sklearn.metrics import classification_reportdef load_data(path,transpose=True): data=sio.loadmat(path)#用以读取matlab类型的数据需要用到sci

2021-08-05 15:49:16 77

原创 机器学习第二次作业全部

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport scipy.optimize as optpath='ex2data1.txt'data=pd.read_csv(path,header=None,names=['Exam1','Exam2','result'])#将data1中的数据引入positive=data[data['result'].isin([1])]#将结果为1的数字筛选出来ne

2021-07-26 17:07:18 373

原创 常见命令行指令

1.md java(创建一个名叫java的文件目录)2.cd ****(转到**文件夹)3.dir 查看所有文件夹4.cd/ 返回到根目录5.del 删除文件6.rd 删除目录

2021-07-26 17:06:33 141

原创 2021-05-30

第三次#进阶三:排序查询/*引入: select * from employees语法: SELECT 查询列表 from 表 【where】 order by 排序列表【asc|desc】前者为升序后者为降,默认为升 order by 子句可以支持单个字段,多个字段,表达式函数别名 order by 子句一般放在查询语句最后面*/#案例:查询员工信息,要求工资由高到低SELECT * from employees OR

2021-05-30 17:20:31 55

原创 2021-05-26

第一部分SQL基础#进阶一:基础查询/*语法:select 查询列表 from 表名;特点:1.查询列表可以是:表中的字段,常量值,表达式,函数2.查询的结果是一个虚拟的表格*/use myemployees;#查询单个字段select last_name from employees;#查询所有字段select last_name,salary,email from employees;#查询所有字段select * from employees;#查询常量值sele

2021-05-26 21:20:29 60

原创 机器学习 第一次作业第一部分

import numpy as npimport pandas as pdimport matplotlib.pylab as pltimport tensorflow as tf#引入一些常用的库函数,numpy,pandas是用来做机器学习的,matplotlib是用来绘制图像的data = pd.read_csv('ex1data1.txt', names=['population', 'profit'])#常用的pd.read_csv(filepath_or_buffer,header,

2021-05-19 11:17:15 128

原创 给任务排序

总结一下:一道非常简单的拓扑排序模板题,原谅我只能从BFS出发解决这道题目,DFS目前我还无法弄出来,主流的算法其实都是从BFS来解决拓扑排序,比较符合人的思考习惯。 // 给任务排序.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include<vector> #include<queue> #include<cstring> using namespace std;

2021-04-29 22:37:50 158

原创 关于 欧拉回路的总结 UVA 10129题目 P1341无序字母

首先来总结一下做欧拉回路,欧拉路径问题的对策欧拉回路;所有边都经过且只经过一次,最后一个点回到起点欧拉通路:所有边都经过且只经过一次,最后一个点任意不能是起点判断欧拉回路的办法:首先所有图要联通无向图:每一个点的度都为偶数即可有向图:每一个点的出度与入度即可判断欧拉路径的方法:无向图:有俩个点的度数为奇数,有从其中一个奇数顶点到另一个的奇数顶点有向图:有俩个点各自的出度与入度分别相差一,从出度比入度小一的点开始到另一个点结束。从算法上讨论欧拉路径(如果是欧拉回路就一定是路径)1.无向图

2021-04-29 22:34:37 57

原创 树的层次遍历

总结一下:树的层次遍历本身这个层次遍历是完全毫无难度的,只需要用一个队列来模拟层次遍历就可以了,但是这个输入格式是真的恶心,参考了lrj的代码来看看这个输入格式咋写的,自己是真的想不到了 ,// 树的层次遍历.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<string>#include<cstring>#include<algorithm>#include&l

2021-04-22 23:18:53 165

原创 树 Tree UVA

总结一下:此题要求我们从树的中序遍历,后序遍历来推出叶子结点到根的最小值,那么我们需要建立起这棵树,我们知道后序的末尾的节点为树的根,那么我们就可以以此入手,中序的根处于左子树与右子树的分界点,正好将这棵树分为左右子树,递归处理左右子树。关于是拿指针还是数组来存这棵树,度可以,但这一题那数组来存储是比较方便的,树建立好以后,就可以dfs搜索树的叶子结点的sum,来求满足题目的节点。// 树 TREE.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include &lt

2021-04-22 22:57:41 48

原创 天平

总结一下:这一题是lrj书籍中归为树的题目,其实并不需要使用建树这样子的算法,只需要思考如果我想这个天平平衡,那么是不是我的左天平是要平衡,右天平也要平衡,如果他们俩个不平衡那么总的俩个也不可能平衡,先看左右是否平衡,再看总体是否平衡,这样子层层探究的很容易想到需要用到递归,一层一层先看最下层是否满足平衡。// 天平.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;bool j

2021-04-22 22:47:30 54

原创 发射栈

单调栈的问题= =发现了单调站用的递减的非常多总结一下:可以看到题目要求我们找最近俩边的比当前信号塔高的塔,然后改变这俩塔的能量值,那么如果我们创建一个单调递减的队列,新来的元素比栈顶元素的高度小的话,那么很显然新来的元素不能接受能量,但一旦比栈顶元素高的元素来了,那么根据提议,这个高的塔接受能量之后,栈顶元素就完成了他的使命,当然你每次加入一个较低高度元素,栈顶元素相应的能量值就要增加。叙述完毕// 发射栈.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#includ

2021-04-16 23:42:49 54

原创 Look Up S 洛谷

这也是一道单调队列的题目哈总结一下:题目要求你让奶牛排成一排,看每一只奶牛能看到最近的比他高的奶牛,如果啥也没看到就输出0,那就直接初始化一个数组所有元素为0,之后呢#include <iostream>#include<stack>using namespace std;const int maxn = 100000 + 50;int cow[maxn];int H[maxn];int saw[maxn] = { 0 };int s[maxn];int top

2021-04-16 23:36:47 70

原创 最大数 洛谷

来到了我们的栈专题了,新学到了一个叫单调栈的东西,原理非常简单,但是确实在某些问题的思路上非常的巧妙,比如说这一题总结一下:该题目用了单调栈的原理单调栈:顾名思义也就是单调递减或者单调递增的栈,你可以用数组,淡然也可以用STL里的Stack,都是很方便的,假设是单调递增的栈,如果前面的数字比你大那你就将这个数字出栈就可以了。该题创建了一个普通数组用以存输入进来的数字,然后开了一个单调栈,用以储存一个单调递减的栈,至于为何是单调递减呢,因为单调递增数列是不符合本题的思想的(可以自己尝试一下),单调递减的

2021-04-16 23:28:50 104

原创 队列安排

总结一下:我们可以看一下这题目就是给小朋友排队,随意删除啊,增添,这明显是一道链表的模板的题目咳咳,很简单。就正常在俩个数之间差一个数,俩个数之间删除一个数,改变几条方向,删完之后的左右边可以设为一个取不到的很大数字。// 对列安排.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<string>#include<algorithm>#include<cstring&g

2021-04-13 22:20:37 155

原创 大理石在哪里

这题目额就是个模板题目,就看一看石头上的数字是否符合我给的,额很简单,排序之后就搜索一下,搜索的话还可以用二分降低一下时间复杂度。// 大理石在哪里.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<algorithm>#include<string>using namespace std;int main(){ int n, p;int kase = 0; while

2021-04-13 22:09:28 138

原创 平台 洛谷

总结一下:此题要求我们看看从平台左右边落下之后会落在哪一个平台上,我刚刚开始编的无法解决上下平台相邻,题目要求输出的是0,而我输出的是低高度平台的值,所以后来着手解决这一问题解决问题:刚开始我想的是排除掉边在俩个边缘的情况,然后判断下面平台是否是连续的但要判断的条件太多了,因为本身我的想法就存在非常严重的缺陷,这是想到了我们可不可以从上至下搜索满足条件的平台,而且呢题目要求重叠的平台我们选择序号偏小的品台,所以我们优先以高度大为优先级大,次级就按序号小排,然后从上至下来搜索。#include <i

2021-04-13 22:05:55 552

原创 学生分组

总结一下:这个题目学生分组思路刚开始我想的是先比较在范围以外的人,集合比最低值小的离最低值的总和,加上集合比最大值大的离最大值的总和,然后呢两者相减看谁比较大,然后看一看符合范围里的人数能不能盖过剩余的数量,如果满足不了就输出-1,行的话输出集合外面大的那个。但是我在本地IDE可以输出正确值 但是没通过样例很恐怖,所以在参考了别人的思想之后,直接在之前先判断符不符合,可以的话就输出大的那个数,很简单。RNG加油0.0// 学生分组.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

2021-04-13 21:44:45 224

原创 2021-04-11

太长了哇靠很恐怖 主要刚开始想的时候没有优化代码量。总结一下:该题目要求我们去用代码来模拟俩个下棋的人,棋的规则相当于五子棋差不多反正就是喂起来了就吃光,给你一个已经有棋子的棋盘,现在叫你以某一方起手,看一看下到哪里才可以100%将对方棋子围起来吃掉,然后输出这些位置,如果没有呢那就换一个,还有一中操作是,在这些满足条件的点上选一个位置下之后呢将所有被吃掉的棋子换成妮子的颜色的棋子,写到这个地方就知道这个题目代码两会很大。我先写了一个判断操作的函数,是输出位置还是下棋,然后分别写了俩个函数用以输出位置和

2021-04-11 13:37:36 50

原创 正方形 UVA201

总结一下:该题目要你去写一个判断图里面有几个正方形 然后按长度顺序输出这些正方形的数量,那么用一个二维数组来存储这个图形是很简单的,关键是如何去判断呢判断这个咳咳 我们就用最原始的方法去慢慢一个一个点来判断,题目告诉我们正方形的长度,那我们就从(1,1)这个点开始从长度1到n来推测这个正方形是否是成立的嘻嘻,就完事了#include <iostream>#include<string>#include<algorithm>using namespace std;

2021-04-11 13:20:29 112

原创 象棋 UVA 1589

总结:这个代码可就长太多了- -题目是要求我们看看能否将死对面黑将,炮,帅,车在逻辑上的移动我们可以归为一类,但就是炮呢在遇到自己的同色棋子之前的位置他是无法进行进攻的,所以我们需要创建一个attack来表示这个到底是帅,车还是炮。他们移动是模拟四个方向的移动。马和黑将单独写一块代码来代替他们的移动。注意的点1.炮在进入攻击状态后,帅,车在碰到红子是还是要把他吃掉的,但不能够在下去。碰到黑将是不用管,直接继续改变该条方向上的状态2.炮在非攻击状态下碰到黑将是无法吃到的哦。#include <

2021-04-11 13:08:40 85

空空如也

空空如也

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

TA关注的人

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