自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法与数据结构实验题 4.8 干净的序列

★实验任务有一个长度为 n 的序列,第 i 个的数为 a[i]。我们定义如果它的一个连续的子串为“没有进行过干净的交易”,那么这个子串的最大值与最小值之差在[m,k]中。现在,你的任务是找到一条最长的“没有进行过干净的交易”的子串。★数据输入第一行输入三个正整数 n m k (0<n<=10000),m(0 =< m =< k =< n)。接下去一行有 n 个正整数,第 i 个数表示 a[i]的值。★数据输出输出一个数,表示这个子串的长度。输入示例15 0 0

2021-03-17 09:13:03 165

原创 经典论文合集

优化器:An overview of gradient descent optimization algorithms

2021-02-08 19:02:55 193 2

原创 关于原神抽奖概率的简要分析

最近迷上了原神这款游戏,趁着保研完,肝了两个星期,也氪了一些金。先不谈这款游戏可玩性有多高,但论氪金强度算是我从小到大能排得上第一的了。对于这种寸卡寸金的游戏,如何在无穷无尽的抽卡活动中,做到理性抽卡,无疑需要严谨的数学分析,才能了解大概氪多少金才能满足自己的预期。本文将对此做出一定的解答。同时,本文对于网上一直所传的氪不改命,玄不救非之说,也将进行一定的抨击。# -*- coding: utf-8 -*-"""import matplotlib.pyplot as pltimport rand

2020-12-17 20:17:56 18094 15

原创 LeastSquare Method最小二乘法(非线性转线性)用于多项式拟合

clear all;close all;n=40;a=5;b=10;c=6;x1=10*rand(1,n)-6;x2=x1.^2;f=@(k1,k2)a*k2+b*k1+c;y=f(x1,x2)+30*(rand(1,n)-0.5);sample=[x2;x1;y]';x_mean=mean(sample);sample=sample-x_mean;covmat=1/n*(sample'*sample);[V,D]=eig(covmat);lambda=diag(D);[m,

2020-09-17 20:29:37 353

原创 PRM

close all;clear all;%% mapglobal obs radiusobs=[22,-16; 16,-18];radius=[15.41 15.05];src=[30;40];dst=[-20;-40];%% PRMn=2000;points=zeros(2,n);points(:,1)=src;points(:,n)=dst;dis=zeros(n,n);for i=2:n-1 while true prand=rand(1,

2020-08-07 15:57:47 326 2

原创 RRT算法(sampling based motion planning)

clear all;close all;global n obstacle dst range stepmap=zeros(255,255);n=9;obstacle=[170 50;50 36 ;78 89;90 140;205 169;123 94;124 215;150 170;40 200];range=round(4*rand(1,n)+14);src=round(25*rand(2,1)+1);dst=round(45*rand(2,1)+190);for i=1:n

2020-07-30 12:59:19 1264

原创 双模式人工势场法(Robotic Motion Planning)

看了网上一堆写人工势场的,跑了代码后,发现都有一个问题——高几率横穿障碍物。自己琢磨了下,想到之前学过的神经网络辨识器。在可能发生碰撞时,仅仅获取梯度的正负信息,并加以随机性,去搜索正确的下一步路径。没想到真的效果很好。这里要说一下,人工势场法的梯度下降,不建议采用动量梯度(即使用比率也不要太高)。在做了大量实验之后,我发现动量梯度有一定几率在终点处来回转几次,才到达终点。感兴趣的自己可以做下。所以双模式,也就是只在遇到碰撞或局部极小点情况时,采用梯度辨识模式,以帮助robot迅速回到正轨。下面上代

2020-07-27 02:35:28 439 1

原创 共轭梯度法

import numpy as npQ=np.matrix([[1,-0.5],[-0.5,1]])b=np.matrix([[-1.56],[8.6]])def F(x): global Q,b return 0.5*x.T*Q*x-x.T*bdef g(x): return Q*x-bi=0x0=np.random.rand(2,1)x=x0d=g(x)epsilon=1e-32print("step 0 :",x.flatten())while i

2020-07-26 14:59:28 192

原创 01背包(一般dp实现+树形dp实现)

#include<stdio.h>#include<algorithm>using namespace std;int dp[10000][10000];int w[10000],v[10000];bool chosen[10000][10000];int main(){ int n,m; scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) { scanf("%d %d",&w[i],&amp

2020-06-12 15:48:36 223 1

原创 分块与线段树

#include<stdio.h>#include<algorithm>#include<math.h>using namespace std;int block[1000];int n,num,m;int val[1000000];int size,left;bool isbound(int x){ if(x%size) { return false; } else { return true; }}void add(int l

2020-06-10 21:22:13 392

原创 matlab演奏爱尔兰画眉

tune4=0:0.0001:1;tune8_3=0:0.0001:1.5;tune8=0:0.0001:0.5;tune2=0:0.0001:2;tune2_3=0:0.0001:3;tune1=0:0.0001:4;s=@(x,y)sin(2*pi*2^(3/12)*x*y);do=440;re=440*2^(2/12);mi=440*2^(4/12);fa=440*2^(5/12);sol=440*2^(7/12);la=440*2^(9/12);xi=440*2^(11/1

2020-06-10 18:20:11 185

原创 AC自动机

通过数组构建trie树,还有一种链表构建的,下次更。#include<stdio.h>#include<string.h>#include<algorithm>#include<queue>#include<vector>using namespace std;int trie[100000][26];int fail[100000];int cnt=0;const int root=0;int size[100000];c

2020-06-10 17:19:57 106

原创 PSO算法(matlab实现)

老师布置的作业,仿照B站上的PSO教学视频,完成PSO算法。这里是借助matlab,用PSO算法对内置的peaks函数进行了一个函数优化,并进行了粒子群的仿真。下面是收敛动画和代码。clcclear all%% Parametervarmax=3;varmin=-3;epoches=100;w=1;wdamp=0.99;c1=2;c2=2;cost=@(x)3*(1-x(1)).^2.*exp(-(x(1).^2) - (x(2)+1).^2) ... - 10*(x(1

2020-06-06 17:58:11 3251 1

原创 关于图论的几大算法(持续更新中)

dijstra的一般实现:#include<stdio.h>#include<vector>#include<string.h>#include<algorithm>using namespace std;typedef struct node{ int num,value; node(int num,int value):num(num),value(value){ }}node;vector<node> v[10000];

2020-06-06 17:48:26 230

原创 KM算法的真O(n^3)写法

最近研究了下KM算法求二分图的最大权匹配,网上一堆人讲slack数组可以优化KM算法到O(n3),仔细研究了下发现他们的写法和直接找min值,复杂度本质上是一样的,感觉有点画蛇添足。看了一篇大佬的文章,找到了这个真O(n3)的写法,它通过不重复构造新的增广路径将KM算法优化到了O(n3),这里我自己实现了一遍。以下是实现代码。大佬的链接#include<stdio.h>#include<string.h>#include<vector>#include<

2020-06-06 04:38:55 870

原创 自我复制机(C语言实现版)

刚看了北大刘田老师讲的递归定理,忍不住好奇心,用C语言实现了他讲的自我复制机。其中为了模拟图灵机的可改变的输入带,我用了sprintf函数,使用字符数组input来暂时保存带上的内容,方便改变。这里,转义字符是一个大坑,所以我用deal字符数组,来解决转义字符的问题。实际上input和deal数组里存储的内容是相同的,只是由于转义字符,两者要进行一个转换,具体见transfer函数。最终打印...

2020-04-14 16:00:57 957

原创 用户级线程VS系统级线程

用户级线程import timeimport threadingdef calc(): x=1.5 for i in range(1000000): if i&1: x*=2.6 else: x/=2.6tlist=[]for i in range(64): tlist.ap...

2020-04-14 01:38:45 511

原创 cache命中率对程序运行时间的影响真的很大吗?

这几天看到了一篇博文,叫CPU L2 缓存初探,其中作者想表达L2 cache和L3 cache存在巨大速度差,并且用go编了一段二分查找的程序,“果然”查了六倍有余。一开始,被忽悠住了,但后来自己用C编了同样一段程序,发现不对劲,得出的结果发现并没有作者那么大的差距,甚至根据运行时间,都察觉不到cache的存在。这才发现,作者的源码有问题,原因是两个对比程序的复杂度差别巨大。所以,今天写了这...

2020-04-14 01:09:17 743

原创 模拟退火算法(SA)

这些天疫情在家里自己看高级人工智能,写了一个模拟退火算法做函数优化的例子,防止以后忘了...优化函数:f(x)=x4−2x3+32x2+6xf(x)=x^{4}-2x^{3}+32x^{2}+6xf(x)=x4−2x3+32x2+6x函数图像:c++源码:#include<iostream>#include<vector>#include<cstdlib...

2020-02-24 17:16:18 434

空空如也

空空如也

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

TA关注的人

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