自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【音乐生成】乐谱生成

传统的音乐生成任务的输出格式以MIDI、WAV为主,本文研究的格式却是乐谱,那么乐谱形式的音乐相较MIDI格式的音乐有哪些优势呢?1、作曲家的首选格式,音乐专业的学生对于打谱软件早已习以为常;2、拥有MIDI格式音乐中没有的信息,例如time signature, measure boundaries, harmonic information。3、MIDI的嵌入编码会十分在意低层次的信息,例如note velocity,基于乐谱的作曲则不会在这里钻牛角尖;

2023-05-28 15:44:06 340

原创 【python智能优化算法】自适应改进灰狼算法

灰狼算法的改进角度有三种,一是改参数,增加一些context,而是与其他算法杂交,取他人之长,三是设计算子,如下图所示:这些改进措施有缺陷:1、没有分析目标函数,一个未知的目标函数有一个未知的复杂性,未知的目标函数有一个未知的复杂性。而所需时间在很大程度上取决于目标函数。2、这些算法都不能根据目标函数自动调整收敛参数,仍然需要事先输入最大迭代次数。

2023-03-14 20:22:06 1558 2

原创 【习题总结】二分查找与二分答案

可以用双指针,也可以用二分查找,用二分查找更好写。array可以换成set,可以氵掉一些平衡树的题。一个想法是双指针,但是不能保证要保证。二分查找,即查询有序数组中某个数的前驱/后继,后面的数,因为不能做到一一对应,其实维护。的后继对应的指针即可。...

2022-08-30 11:27:05 160

原创 【习题总结】枚举题:暴力出奇迹

在入门算法竞赛时,我们最喜欢朴实的枚举。在蓝桥杯中dfs剪枝混分法也很常见,然而当我们初入茅庐,学了记忆话搜索,dp,贪心等基础算法后,朴素的暴力枚举就很少用了。注意到i依次递增,对于同一完全平方数,差值逐级递减,所以枚举完全平方数,若差值越界或重复,完全平方数递减。事实上,对于朴素的暴力枚举,若改变枚举的角度,抑或是挖掘出题目中的性质,即可暴力切题,俗称“暴力出奇迹”。大的最小完全平方数,算出各个差值,再考虑重复的数和未出现的数,枚举修改的决策。2、枚举一个子区间时,可以用几重循环枚举子区间以外的部分。.

2022-08-24 00:52:24 322

原创 【习题总结】推公式问题

在算法竞赛问题中,手推公式是一项及其重要的技能,下至签到题,上至高级数学、数据结构、动态规划,都需要扎实的推公式能力。若推出的公式会TLE,要么用其他技巧变换公式,要么用数据结构优化(后面会提及),要么差分/前缀和。编程时,可以将相同元素的列数存放到一起,排序,作为前缀和数组。考虑注意到各个元素的列数可以预处理出来,因此求距离可以采用。查询,其实修改后只会影响重复运算的部分,故用乘法,加上/减去。本文章先从简单题入手,总结常见的推公式思路。朴素的做法是对于每一种元素,枚举每一列/行,作累加,显然会TLE。

2022-08-22 17:48:34 198

原创 【习题总结】差分问题

差分,即序列中相邻两数之差,本文章讲解几个经典例题,帮助各位理解差分在算法竞赛中的应用。

2022-08-17 21:21:00 652

原创 【数学建模】旅行商问题 python代码

TSP问题在数学建模比赛中考察较多,而网上提供的代码通常是MATLAB版本,我用python复现了一下,以下是python代码import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport networkx as ns #其实可以不用nx库from math import*from random import*import matplotlibmatplotlib.rcParams['font.family

2022-04-16 18:45:13 3495

原创 数学建模中最短路问题的实现方法

一般有两种方法:python/matlab调包,C++手写调包法初学者建议直接调包,但对于一些复杂的变形体,调包法就失效了#程序文件Pex10_8.pyimport numpy as npimport networkx as nxa=np.loadtxt("Pdata10_6.txt")G=nx.Graph(a) #利用邻接矩阵构造赋权无向图d=nx.shortest_path_length(G,weight='weight') #返回值是可迭代类型Ld=dict(d) #转换

2022-04-16 17:07:32 1197

原创 【题解】最长公共上升子序列

1、问题重述熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列 A和B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。数列 A和 B 的长度均不超过 3000。题意:求

2022-01-30 22:19:05 781

原创 【题解】蒙德里安的梦想/最短哈密顿路径

一、AcWing 291. 蒙德里安的梦想求把 N×M 的棋盘分割成若干个 1×2的长方形,有多少种方案。例如当 N=2,M=4时,共有 5 种方案。当 N=2,M=3 时,共有 3种方案。如下图所示:1.1问题分析我们把这个切割问题转化成为摆长方形的问题,1x2的长方形,既可以竖着摆,也可以横着摆。我们只用分析出哪些位置横着摆,如果剩下的位置就只能竖着摆,则该答案为可行解。以上是该问题的特性,我们背题主要是背特性,剩下的就是考验我们的基本功了。首先,如何确定位置是否已经被摆放?引入01变

2021-09-20 22:35:52 1310 1

原创 用python实现层次分析法(AHP)

用python实现层次分析法(AHP)层次分析法是数学建模的入门算法,类似于算法竞赛中的cout<<"Hello,world!"<<endl;对于python数据分析的初学者来说,在使用python实现层次分析法时,难点是特征值法的相关函数。首先是计算矩阵的特征值和特征向量,当然你也可以手算w=np.linalg.eig(a) #np.linalg.eig(matri)返回特征值和特征向量然后是寻找最大特征值所在的行和列t=np.argwhere(w[0]==a_ma

2021-05-16 10:41:41 5771 1

原创 networkx的基础应用:图的可视化

在图论的相关问题中,将图可视化可以更清楚的分析、研究问题,应用到、论文中,可以增加文章的可读性。# -*- coding: utf-8 -*-"""目标:1.绘制出无向图;2.在图中标注出目标路径"""import networkx as nximport matplotlib.pyplot as pltdef make_s(length): #标签生成函数 temp_s=dict() for i in range(1,length): temp_s[i]

2021-04-26 20:40:38 1439 1

空空如也

空空如也

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

TA关注的人

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