2024.03.15

2312.卖木头块

https://leetcode.cn/problems/selling-pieces-of-wood/

给你两个整数 mn ,分别表示一块矩形木块的高和宽。同时给你一个二维整数数组 prices ,其中 prices[i] = [hi, wi, price[i]] 表示你可以以 price[i] 元的价格卖一块高为 hi 宽为 wi 的矩形木块。

每一次操作中,你必须按下述方式之一执行切割操作,以得到两块更小的矩形木块:

沿垂直方向按高度 完全 切割木块,或
沿水平方向按宽度 完全 切割木块
在将一块木块切成若干小木块后,你可以根据 prices 卖木块。你可以卖多块同样尺寸的木块。你不需要将所有小木块都卖出去。你 不能 旋转切好后木块的高和宽。

请你返回切割一块大小为 m x n 的木块后,能得到的 最多 钱数。

注意你可以切割木块任意次。

学习力扣动态规划Java

2022.10.20
每月一篇博客就算成功

Smart-Contract-Based Economical Platooning in Blockchain-Enabled Urban Internet of Vehicles

区块链城市车联网中基于智能合约的经济车辆编队

论文发表于《IEEE Transactions on Industrial Informatics》,2019
第一作者为西安电子科技大学的陈晨老师

整体介绍

    本文设计了一种无人驾驶车辆的车队模型,该模型将路径匹配成功的车辆划分为一个车队,由队长(PH)领导,并引入了PH选择方案以激励车辆成为PH。并使用智能合约实现PH和车队成员(PM)之间基于区块链的支付,避免虚假和恶意支付。

学习区块链智能汽车读论文

2022.09.01

学习资料:https://www.bilibili.com/video/BV1WC4y1b78y

express相关

    express是一个基于node.js的web应用框架,感觉上约等于flask或者tomcat之类的东西。

express的基础使用:

    在安装好express后,在每个js文件使用express之前先引入express并创建对象实例。

app.get(路径,回调函数):

    创建一个使用get方式请求的路由,当访问 /路径 时,将会发送get请求并且调用回调函数,回调函数的参数是请求报文和响应报文(可以有第三个参数next)
    此外还有post、all等接收其他请求方式的函数。
app.listen(端口,回调函数):
监听指定端口,访问服务时需要访问host+port,默认host是127.0.0.1

学习WebJavaScriptAJAX

2022.07.28

学习资料:https://www.bilibili.com/video/BV12E411A7ZQ

Python爬虫基础部分

urllib库创建请求

get方式

    使用 urllib.request.urlopen() 方法(需要引包),指定请求链接(需要加http://)和超时阈值等,然后使用 read() 方法将得到的返回信息打印,decode()方法用于进行格式化。
    此处使用了 try/except进行错误捕获,主要是为了不在超时的情况下报一大堆错。

学习Python爬虫Web

2022.02.22

1994.好子集的数目

https://leetcode-cn.com/problems/the-number-of-good-subsets/

给你一个整数数组 nums 。如果 nums 的一个子集中,所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。

比方说,如果 nums = [1, 2, 3, 4] :
[2, 3] ,[1, 2, 3] 和 [1, 3] 是子集,乘积分别为 6 = 2*3 ,6 = 2*3 和 3 = 3 。
[1, 4] 和 [4] 不是  子集,因为乘积分别为 4 = 2*2 和 4 = 2*2 。
请你返回 nums 中不同的  子集的数目对 10^9 + 7 取余 的结果。

nums 中的 子集 是通过删除 nums 中一些(可能一个都不删除,也可能全部都删除)元素后剩余元素组成的数组。如果两个子集删除的下标不同,那么它们被视为不同的子集。

学习力扣C++动态规划

2022.02.21

838.推多米诺

https://leetcode-cn.com/problems/push-dominoes/

n 张多米诺骨牌排成一行,将每张多米诺骨牌垂直竖立。在开始时,同时把一些多米诺骨牌向左或向右推。

每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。同样地,倒向右边的多米诺骨牌也会推动竖立在其右侧的相邻多米诺骨牌。

如果一张垂直竖立的多米诺骨牌的两侧同时有多米诺骨牌倒下时,由于受力平衡, 该骨牌仍然保持不变。

就这个问题而言,我们会认为一张正在倒下的多米诺骨牌不会对其它正在倒下或已经倒下的多米诺骨牌施加额外的力。

给你一个字符串 dominoes 表示这一行多米诺骨牌的初始状态,其中:

dominoes[i] = 'L',表示第 i 张多米诺骨牌被推向左侧,
dominoes[i] = 'R',表示第 i 张多米诺骨牌被推向右侧,
dominoes[i] = '.',表示没有推动第 i 张多米诺骨牌。
返回表示最终状态的字符串。

学习力扣C++

2022.02.17

688. 骑士在棋盘上的概率

https://leetcode-cn.com/problems/knight-probability-in-chessboard/

在一个 n x n 的国际象棋棋盘上,一个骑士从单元格 (row, column) 开始,并尝试进行 k 次移动。行和列是 从 0 开始 的,所以左上单元格是 (0,0) ,右下单元格是 (n - 1, n - 1) 。

象棋骑士有8种可能的走法,如下图所示。每次移动在基本方向上是两个单元格,然后在正交方向上是一个单元格。

每次骑士要移动时,它都会随机从8种可能的移动中选择一种(即使棋子会离开棋盘),然后移动到那里。

骑士继续移动,直到它走了 k 步或离开了棋盘。

返回 骑士在棋盘停止移动后仍留在棋盘上的概率 。

学习力扣C++动态规划