自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 tensorboard+seaborn 画RL论文图片

简单介绍了如何用tensorboard和seaborn 快速上手,画出RL论文常出现的图片。

2024-01-26 20:17:22 464 1

原创 PPO 跑CartPole-v1

ppo跑CartPole-v1

2024-01-16 18:55:09 925 2

原创 cuda12.0 安装 pytorch

cuda 12.0 安装pytorch

2024-01-11 00:24:18 13814 5

原创 Noisy DQN 跑 CartPole-v1

Noisy DQN 跑 CartPole-v1

2024-01-02 23:26:26 665

原创 创建自定义 gym env 教程

创建自定义gym env, 对官方教程进行一些补充说明。

2023-12-18 21:13:27 1387

原创 Actor-Critic 跑 CartPole-v1

actor-critic 跑 CartPole-v1, 采用时序差分残差

2023-12-15 23:54:22 957 1

原创 Dueling DQN 跑 Pendulum-v1

Dueling DQN 跑 Pendulum-v1

2023-12-13 23:05:08 506

原创 double DQN 跑 Pendulum-v1

double DQN 跑 Pendulum-v1,对比发现double DQN缓解了Q值高估的问题。

2023-12-12 17:31:38 802

原创 DQN 跑 CartPole-v1

DQN 跑 CartPole-v1

2023-12-12 00:00:52 740

原创 REINFORCE 跑 CartPole-v1

在新版gym里用reinforce跑cartPole-v1

2023-12-10 22:07:08 436

原创 vscode 配置 lua

再vscode上配置lua,详细步骤介绍

2023-11-17 20:46:29 1284

原创 2022 蔚来杯 牛客多校 后缀自动机(SAM) 马拉车(Manacher)

马拉车 加 哈希,然后注意 这题不能用自然溢出 否则会卡, 然后我用的是双哈希。对于每个串 都用马拉车,处理一遍 然后求出所有的回文串 丢到。类型的,因为我自然溢出错了后,我就改取模了,然后为了省力就直接 把。为 中心 的 回文串的长度。然后用 前缀和 减一下就能算出来,以。个串的公共回文串个数,每个公共回文串都是不同的回文串。结尾 的 回文字符串。马拉车 处理一遍 处理出来所有的以当前。结尾 的 回文字符串 的 数量。2022 蔚来杯 牛客多校。个前缀和 分别 存的是。为结尾的回文串数量。

2022-08-23 17:02:25 172

原创 宿主机 不能 ping 虚拟机(路由问题)

一开按照网上的方法,改了端口,本地 v8v8v8 ipv4ipv4ipv4 的 网段,子网掩码,发现就是没有用。还是不能 pingpingping, arp−aarp -aarp−a 查看路由,发现v8v8v8 没有 通往虚拟机 的 路由表,这就是问题所在。但是在虚拟机里 arp−aarp -aarp−a,发现是有往外的动态 路由的。所以我就重新在虚拟机里,还原了默认设置然后等待完成后,本地v8v8v8 ipv4ipv4ipv4应该是像下图一样在宿主机上查看路由 arp−aarp -aarp−a

2022-04-30 16:22:15 1465

原创 栈类模板(练手)

栈类模板,指针实现#include<iostream>using namespace std;template<class T>class Stack{ public: T data; Stack* next; Stack(){ next=NULL;} void push(T x) //不带头节点,利用链式前向心 { Stack *r=new Stack; r->data=x; r

2021-06-26 15:41:31 209

原创 拯救大兵瑞恩(P4011孤岛营救问题)(bfs+状态压缩)

题目描述      1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克得到了迷宫的地形图。迷宫的外形是一个长方形,其南北方向被划分为 N 行,东西方向被划分为 MM列,于是整个迷宫被划分为 N×M 个单元。每一个单元的位置可用一个有序数对(单元的行号,单元的列号)来表示。南北或东西方向相邻的 2 个单元之间可能互通,也可能有一扇锁着的门,或者是一堵不可逾越的墙。迷宫中有

2021-05-31 20:57:39 341 1

原创 根据先序遍历输入,构建二叉树(不同于层次遍历)

文章目录前言一、思想基于递归遍历二、构建二叉树1.先判断遍历顺序2.根据遍历类型写代码总结前言由于之前王老师讲了怎么通过递归的方式利用 遍历序列的输入顺序构建 二叉树 一、思想基于递归遍历例如 先序遍历 1 2 4 0 0 5 6 0 0 7 0 0 3 0 0 -1 (0表示当前结点为空,-1表示输入结束)二、构建二叉树1.先判断遍历顺序如上面写的 先序序列2.根据遍历类型写代码代码如下(示例):#include<bits/stdc++.h>using names

2021-05-01 19:24:52 1543 1

原创 稀疏矩阵的表示方法

上周王老师讲了,稀疏矩阵的表示方式,一种是三元组,一种十字链表。下面展示的是十字链表,三元组比较简单。有空补上这个和我之前说的的有向图的十字链表表示法很像。准确来说就是简化版本。#include<iostream>#include<cstdlib>#include<string>using namespace std;typedef int Elemtype;typedef struct OLNode { int i, j; Elemtype e;

2021-04-11 20:49:12 1024

原创 用指针表示二维数组的4种方式

剧情回顾:12/25 周五,华老师说如果能自己写出来4种方式,就因该掌握了,指针在数组方面的应用。于是有了,这篇文章,文章的内容会同步到《指针(心路历程)》这篇博客中。1. 列指针2. 行指针3. 指针数组4. 二级指针强调一点指针 在引用的时候,应该避免出现歧义。例如 int a[3][4];int ** p=a; //这种就是错误的,虽然都是二级指针,但是,指向的类型其实是不一样的。a指向的是数组中的1行,而p是指向某个指向整形元素的指针。两者并不相同。//如何用指针的表示.

2020-12-26 15:41:52 10018 1

原创 图的4种存储(简化版)

最近没学什么东西,但图基本的一些存储方式,马马虎虎懂了。图的存储方式:邻接矩阵邻接表(逆邻接表)十字链表多重邻接表为了突出重点,在下面给的例子中,有些的图会默认为无权图。① 邻接矩阵 ==基本想法==,就是用一个(n+1)*(n+1) 的数组,来表示每个顶点与其他顶点之间的关系。这里也可以用n*n 的数组 当图为无向图时,可以采用压缩矩阵的方式,即上三角,或下三角存储。 邻接矩阵这种存储方式适用于稠密图,而对于稀疏图则会浪费大量的内存空间。一般的邻.

2020-12-21 21:58:40 1653

原创 欧拉回路(上课要认真听)

欧拉回路 欧拉回路是指不令笔离开纸面,可画过一个连通图中每条边仅一次 ,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路? 写这个原因 有次crq的课,我太困了,感觉讲的东西我会(那次刚开始课上讲的汉诺塔的递归), 然后我就迷迷糊糊的睡过去了。等我醒来,讲的又是另外一个神奇的东西了,好像 是关于DFS(deep fisrt search 深度优先搜索)。好家伙,上次课的欧拉回路(找师傅) 就听的迷迷糊糊,完了这回又是啥也没听了解决方案首先 用邻接矩阵(n*n),来构建

2020-12-13 16:52:18 409

原创 指针(心路历程)

c语言的指针 2019/3/10 许多初学c*语言指针的人刚开始会理不清思路,即使有教材书在比上也会一头雾水,我也是刚入门,给一下我的想法。 指针,简单来说就是一个存放地址的变量。你可一联想门牌号和房子的关系。 c语言的指针,主要两种运算符。...

2020-11-15 19:17:11 1378 1

原创 关于浮点数输入和输出精度的问题

问题的提出 : 之前在学校的OJ里做到一种,要求输入一个很大的二进制数,然后把转换成8进制的数。要求输入的位数小于等于100位,然后我去看了double 变量的数据绝对值的范围 0 以及2.3 × 10e-308~10e308 。问题初步思考: 我看这个数据都可以到10^308这么大,100位岂不是轻轻松松,然后看了有效数据15位,我原来上课听老师说是小数位数,我就理解位小数部分是有精度要求,小数点前面的部分就像定点整...

2020-11-01 15:57:30 1515

原创 简易链表(插入\删除\增加结点)

我的想法是建立一个学生的绩点的查询表,后期可能会把功能做的全面一些。 现存的功能有 我是根据按键的输入(1~9) 现在有的按键的功能为 9.退出 1.插入数据 2.删除数据 3.查找数据 结构体的数据包括 :学生的id(学号) 学生名字 绩点...

2020-10-30 19:38:03 244

原创 TZOJ常见但不容易察觉的一些问题

1.调用的函数的返回值类型不清楚 常见的两类数值计算的函数1.C语言 pow() 函数用来求 x 的 y 次方的值。 头文件:math.h 语法/原型 ==>double pow(double x,double y); 实参是int 类型也可以,它会被强制转换的参数说明:x:双精度数。 y:双精度数。举个简单的例子 求2^3次方 并打印在屏幕上 关键的语句是 printf("%d",pow(2,3));...

2020-10-18 21:10:20 3445 1

原创 C程序设计(第5版)第三章习题解析

简单的贴下代码,感觉有点技巧的会细说。1.#include<stdio.h>int main(){ float r=0.07,p; p=1+r; p = p * p; //这里还没有学到循环,如果用循环会简洁些 p = p * p; p = p * p; p = p * p; p = p * p; p = p * p; p = p * p; p = p * p; p = p * p; p = p * p; printf("10年后的生产总值与现

2020-09-27 15:16:30 659

原创 王爽汇编课程设计2(完整代码+虚拟机演示)

终于把完整代码写了,太懒了。assume cs:code,ds:data,ss:stackdata segment db 128 dup(0)data endsstack segment db 128 dup(0)stack endscode segment start: mov ax,stack mov ss,ax mov sp,128 mov bx,offset Boot_end-offset Boo

2020-09-26 09:13:28 280

原创 Microsoft Visual Studio2019 怎么创建运行C/C++语言项目

如何在Microsoft Visual Studio 2019新建一个C和C++项目?下面给大家演示下我们首先在Visual Studio installer 上修改工作负载安装好后,打开Microsoft Visual Studio 2019这个时候我们有两种选择,首先我们介绍第一种(这种较第二张要方便些)点击创建新项目选中,然后点击下一步好的,这样就可以了。我们来运行下一个简单的程序第二种就是多了个新建添加,和上面的差不多,就不掩饰了。...

2020-09-25 09:40:02 13183 2

原创 王爽第三版课程设计2(完整演示版 :仅涉及环境配置和操作演示)

想看完整代码的同学可以,再等等我的下一篇博客。本文,结合了百度和哔哩哔哩视频的相关知识,由我整理,录制视频。仅供参靠所有要用到的文件,我都会放在百度云上,但最好大家还是自己亲自去下载,自己摸索下。链接:https://pan.baidu.com/s/16f0zzJtQXCL4zOxI14PsdA提取码:1111首先我们要下载,虚拟机,我用的是 Oracle VM VirtualBox,这个可以从官网上下载:https://www.virtualbox.org/ 用到的镜像文...

2020-09-23 20:04:20 287

原创 王爽汇编第三版课程设计2(目前只涉及3,4功能,并且可以在dosbox上演示)

这个是源码的主要来源:https://www.bilibili.com/video/BV1mt411R7Xv?p=258然后我会结合我的实践,给出一下分析。便于大家更好的理解,代码。下面是代码assume cs:code,ds:data,ss:stackdata segment db 256 dup(0)data endsstack segment db 128 dup(0)stack endscode segment start: mov ax,stack

2020-09-21 21:16:39 348

原创 王爽汇编第三版17.2(比较技巧和检测点)

先给出程序的代码,再分析。assume cs:code code segmentstart:mov ah,0 int 16h mov ah,1 cmp al,'r' je red cmp al,'g' je green cmp al,'b' je blue jmp sret red:shl ah,1 green:shl ah,1 blue:mov bx,0b800h

2020-09-11 21:09:11 270

原创 王爽汇编(第三版)第16章实验16

code segmentstart: push cs pop ds mov ax,0 mov es,ax mov di,0200h mov si, offset setscreen mov cx,offset setscreenend-offset setscreen cld rep movsb ;复制copy.

2020-09-10 15:46:49 180

原创 王爽汇编(第三版)第15章实验15

写这篇博客的时候,已经快晚上12点了;至于为什么这个时候写,我也不想,无奈失眠。PS:半个小时解决实验15 安装新的int 9中断例程安装一个新的 int 9中断例程,功能:在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏的“A”,其他的键照看处理。提示,按下一个键时产生的扫描称为通码,松开一个键产生的扫描码称为断码。断码=通码+80H这里的程序,其实只要在之前的地方稍微改动下就行了。我简单的分析下:在按下键盘的一个键时(不松开),会产生一个扫描码(通码),此时的通码会被送

2020-09-09 01:28:54 205

原创 王爽汇编(第三版)第14章实验14

编程,以“年/月/日 时:分:秒” 的格式,显示当前的日期、时间。注意:cmos ram 中存储者系统的配置信息,除了保存时间信息的单元外,不要想其他单元写入内容,否则将引起一些系统错误。代码如下(为了显而易见,我没有额外精简代码,但实际上代码可以优化,简单优化过的代码放在第二部分)assume cs:codecode segmentstart: mov al,9 out 70h,al in al,71h mov ah,al mov cl,4 shr..

2020-09-06 18:54:22 204

原创 王爽汇编(第三版)第13章实验13

(1) 编写并安装 int7ch 中段例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。参数: (dh)=行号 ,(dl)=列号 ,(cl)=颜色,ds:si指向字符串地址代码如下assume cs:codedata segment db"welcome to masm!",0data endscode segmentstart: mov ax,0 mov es,ax mov di,200h ...

2020-09-05 21:26:27 407

原创 王爽汇编(第三版)第12章实验12

这个实验其实没有什么好说的,把前面的几个地方稍微改下,就可以了。不过为了让自己印象深刻些,我还是讲一下。解析:要求:是使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”总共占13个字符(空格什么的都算上去),然后返回到dos。下面我给出代码,代码有注释。assume cs:codecode segmentstart: mov ax,cs mov ds,ax mov si,offset do0 ;获取do0位置的偏移地址 m

2020-09-03 21:46:57 337

原创 王爽汇编(第三版)第11章实验11

编写一个子程序,将包含任意字符,以0结尾得小写字母转变成大写字母。小写字母的ascll 是97(a)~122(z),用cmp 等指令 来确定是否为小写字母,然后小写字母转大写字母用 And 指令,大小写差20H(32) 我们用 and al ,1101 1111 就可以转换了。具体代码如下assume cs:codesgdatasg segment db"Beginner's All-purpose Symbolic Instruction Code.",0datasg ends...

2020-09-02 08:32:28 277

原创 王爽汇编(第三版)检测点 11.2

首先补充一些知识CF(carry flag):进位标志位 OF(overflow flag):溢出标志位 SF(sign flag):负数标志位 ZF(zero flag):零标志位 PF(parity):奇偶标志位CF是对无符号数进行运算,纪录的进位值或借位值OF是对有符号数会不会产生溢出的标志 同样的SF也是对有符号数操作的。同样一条指令,例如 add al,80H (假设原先al里的值位80H) 那么此时...

2020-08-30 10:16:01 768 2

原创 王爽汇编(第三版)课程设计1(附有解析)

思路是:将所有所需要的数字,以字节(一个字节表示单个数字)的形式写入 es段,再然后从es段中再调用到b800段达到显示的效果,由于给定寄存器少,我就想用栈结构的方式来传递变量;我定义了data 段存放原始数据,开始的表示21年的字符串就不用修改,照搬到es段中,dword类型数据,开始调用除法溢出的部分,把得到余数压入栈中,再循环结束,再出栈就可以把余数倒取写入es段中,从dword类型数据开时,我把每8个字节当成一块区域,存放。然后时wordl类型的数据,一样要调用除法溢出,把dx改为0000h,就一

2020-08-29 09:59:54 292

原创 王爽汇编(第三版)第10章实验10(课程设计1单独放另外一个贴)

1.显示字符串这个程序要注意的位置的定位,字符在显存的内存地址=b800:(行数-1)*160+(列数)*2-2 字符属性内存地址在前面的基础上加一assume cs:code, ds:datadata segment db'Welcome to masm!',0data endscode segment start: mov dh,8 mov dl,3 mov cl,2 mov ax,data mov ds,ax mov..

2020-08-27 17:06:52 188

原创 王爽汇编(第三版)第九章试验9解析

编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串“welcome to masm!”。已知:内存地址空间中,B8000H~B8FFFH共32KB的空间,为80*25 彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在显示器上。 显示器可以显示25行,每行80个字符(一个字符两个字节),每个字符可以有256种属性。。。由已知可得:要在屏幕中间显示三行字符串,所在行数分别是 12 13 14 列数我们从33列开始到48列 ;33列对应的单元应该是33*2...

2020-08-23 22:23:25 280

空空如也

空空如也

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

TA关注的人

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