自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java基础知识_Java内存区域

java的内存区域大概可以分配为堆,栈, 方法区, 程序计数器,直接内存(1)程序计数器: 可以堪称线程执行时用于指示当前所执行的字节码的行号指示器。有点类似与寄存器中的PC寄存器(2)栈分为Java虚拟机栈和本地方法栈。java虚拟机栈为java字节码运行时调用的栈,主要结构为栈帧,栈帧中保存村当前调用函数的局部变量表,操作数栈,动态链接,方法出口等信息。本地方法栈为java代码在调用n...

2019-10-07 20:40:42 159

原创 hihocoder播放列表

描述小Hi的手机中存着N首他喜爱的歌曲。现在小Hi希望制作一个长度为L的播放列表,满足每一首歌至少播放一编同一首歌不能连续播放,之间至少间隔一首其他歌曲请你计算一共有多少种不同的播放列表满足条件?由于结果可能非常大,你只需要输出结果模1000000009的余数。输入两个整数N和L。对于30%的数据,1 ≤ N ≤ 5,N ≤ L ≤ 10对于100%的数据,1 ≤ N ...

2018-11-18 18:34:10 275

原创 战舰日常任务hihocoder --优先级队列使用技巧

描述小Hi最近在玩一款游戏。他在游戏中一共建造了N艘战舰。这N艘战舰分属6种不同的类别:航空母舰(CV)、驱逐舰(DD)、轻型巡洋舰(CL)、重型巡洋舰(CA)、战列舰(BB)和战列巡洋舰(BC)。此外每艘战舰还有两个属性,一个是战舰等级另一个是战舰的战斗力。 每天系统都会委派M件日常任务给小Hi。每件任务都对执行该任务的战舰种类、数量和等级有要求。具体来说我们可以用7个数字(A, B,...

2018-09-12 22:21:05 251

原创 强化学习笔记(五)......基于时间差分的Qlearning强化学习方法

解决强化学习的训练问题有很多种方法,本节用时间差分方法Qlearning算法来对一个简单的迷宫问题进行求解。迷宫问题的地图简单描述如下。异策略的Qlearning方法更新动作值函数更新公式如下:简单的说明一下,就是通过概率模拟状态s的时候,选择执行动作a,到达了状态s’,再利用状态s’处的最大动作值函数Q(s’,a’)来更新Q(s, a)的值,但是因为是模拟,所以不能直接用Q(...

2018-09-02 22:00:58 798

原创 强化学习笔记(四)......基于时间差分的Sarsa强化学习方法

解决强化学习的训练问题有很多种方法,本节用时间差分方法Sarsa来对一个简单的迷宫问题进行求解。迷宫问题的地图简单描述如下。同策略的Sarsa方法更新动作值函数更新公式如下:简单的说明一下,就是通过概率模拟状态s的时候,选择执行动作a,到达了状态s’,再利用状态s’处的Q(s’,a’)来更新Q(s, a)的值,但是因为是模拟,所以不能直接用Q(s,a) = r + yQ(s’,...

2018-08-29 22:51:32 451

原创 hihocoder好的数字串

描述给定一个数字字符串S,如果一个数字字符串(只包含0-9,可以有前导0)中出现且只出现1次S,我们就称这个字符串是好的。 例如假设S=666,则1666、03660666是好的,6666、66、123不是好的;假设S=1212,则01212、12123是好的,121212、121是不好的。请你计算长度为N的数字字符串中,有多少个是好的。由于总数可能很大,你只需要输出总数模10000...

2018-08-24 23:15:10 264

原创 强化学习笔记(三)-----值迭代算法

强化学习有两种常见迭代训练算法:策略迭代算法和值迭代算法。在上一篇博客<<强化学习笔记(二)>>中已经详细描述了策略迭代算法,其实值迭代算法和策略迭代算法的基本思想是一致的,其最大的区别在于,策略迭代算法在进行策略改善的时候,使用的每个状态的值函数,是稳定的,在进行策略评估的时候,计算得到了当前策略的稳定值函数;而值迭代算法交替进行策略评估和策略改善的过程,并不是等到值函数...

2018-08-20 22:48:28 5488

原创 强化学习笔记(二)---- 策略迭代算法

强化学习有两种常见迭代训练算法:策略迭代算法和值迭代算法。本文中主要讲述策略迭代算法。先从一个简答的问题开始,下图为一个四方格子,每个位置的状态空间分别为{1, 2, 3, 4}, 其中 3 的位置是个陷阱, 4的位置有个金币。有一个机器人从状态1的位置开始寻找金币。落入陷阱的回报为-1,找到金币的回报为1,在其他位置间移动回报为0,可选的动作空间为{上,下,左,右}, 通过这个简单的问题,来...

2018-08-15 23:39:40 14041 6

原创 强化学习笔记(1)-找金币小游戏

使用gym实现的第一个强化学习的问题,简单来说就是一个找金币的问题。该网格世界一共8个状态,其中6和8是死亡区域,状态7是金币区域,机器人的初始位置为网格中的任意一个状态,机器人从初始状态出发寻找金币,机器人每探索一步,进入死亡区域或找到金币本次探索结束。 状态空间 S = { 1, 2, 3, 4, 5, 6, 7, 8},动作空间是 A = {上,下,左, 右}, 找到金币回报为1, 进...

2018-08-05 23:12:13 2054 1

原创 树的直径

关于树的直径的求解算法树的直径的定义:树中最长的简单路径。下图中的从1 → 4 → 6 → 8的路径,便是该树的直径。求树的直径的算法简单的描述为两步:(1) 任选一点,以该点为起点计算得到离自己最远的点。(2) 用(1)步求得的点为起点,计算离起点最远的点,这两点间的距离即为树的直径。简单的证明(非严格数学证明)从树的直径的求解算法中,第一步是任选一点,然后找...

2018-07-30 22:54:02 213

原创 嵌入式UCOS系统的O(1)调度算法优化

经典算法的再优化学习过嵌入式系统的人,应该大都学习过一个嵌入式操作系统UCOS,在这个系统中,有一个经典的O(1)复杂度的调度算法。该算法用于从就绪的任务中找到优先级最高的就绪任务,然后把执行的权利交给这个线程。关于该算法的细节有兴趣的可以去阅读嵌入式操作系统的相关知识.下面我们把这个问题抽象成一个简单的算法问题来描述。问题的本质:求一个8bit的BYTE形变量的bit位中,从低到高第一个...

2018-07-25 00:30:25 595

原创 道路建设java

这是一个有趣的题目,我们来详细分析题目的解法描述H 国有 n 座城市和 n-1 条无向道路,保证每两座城市都可以通过道路互相到达。现在 H 国要开始施工,施工分若干个阶段,第 i 个阶段会建设无向道路 (x,y),当且仅当存在一个数 z,满足 x ≠ z, x ≠ y, z ≠ y,且在第 i-1 个阶段后,存在无向道路 (x,z), (z,y).现在 H 国的国王想知道,在几个阶...

2018-07-18 23:22:52 783

原创 数字游戏2

在做一道hihocoder上的题目的时候,开始的时候一时间没有想出来这里写博客理一下思路。 题目内容: 小 Hi 有一个数字 k,小 Hi 可以对他进行多次变换:每次变换选择 k 的一个大于 1 的约数 d,然后将 k 变成 k/d 现在小 Hi 想将一个数字变成 1,求操作的方案数。由于方案数可能过大,你只需要输出方案数对 10的9次方+7 取模后的值。 例如对于k=10,有三种方案:1...

2018-07-15 22:29:00 198

原创 已知多边形的顶点坐标(x,y),求多边形的面积

package 计算多边形的面积;public class 计算多边形的面积 { public static void main(String[] args) { System.out.println(calcuArea(new double[]{0, 0, 1, 1}, new double[]{0, 1, 1, 0})); } public static d

2017-11-26 20:59:16 1842

原创 机器学习学习笔记1-简单的线性回归

今天学习了关于利用Python的Scipy库进行线性拟合的内容。主要使用了两个函数一个是polyfit用于将输入的数据进行拟合,简单的调用方式如下fp = polyfit(x, y, 1)其中x,y分别代表输入的x轴数据和y轴数据, 1代表是回归的阶数, 这里传入1代表的是线性回归,其拟合方程如下:y = a * x  + b传入2的话,其拟合方程如:y = a * x

2017-11-12 15:46:36 212

空空如也

空空如也

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

TA关注的人

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