- 博客(81)
- 收藏
- 关注
原创 【github项目】Algorithms-for-Automated-Driving自动驾驶算法(1)
实现世界坐标转换成像素坐标的python代码
2024-07-24 18:07:42
290
原创 【Acwing】差分矩阵
由于a是b的前缀和数组,因此改变b[ x1][ y1]之后,受到影响的a中元素如右半图所示。图2:求b数组的前缀和。图1:a和b数组映射表。
2024-02-29 20:09:05
538
原创 【洛谷】P2392 kkksc03考前临时抱佛脚
(1)要求最短时间,则需让左右脑花费的时间最接近,极限状态下是左脑时间和右脑时间相等,且等于 m = sum / 2(其中sum是一道一道做完一科所有题目的总时间)。(4)最终返回的时间应该是左右脑时间中的较大值,可以假设左脑时间一直小于等于右脑,也就是左脑时间 ≤ m,故。(2)从(1)可知,我们要将某科的若干道题目相加,使其总时间最接近 m,此时做完这一科的时间是最短时间。本题最重要的思路是:将题目转化为 01 背包模型。(3)这道题中,时间既是体积又是价值。
2024-02-04 11:28:25
697
原创 【洛谷】P1135奇怪的电梯(DFS)
易错点:这题的判断条件不再是 N-皇后那样判断是否访问过某层楼,而是判断当前走到某层楼的步数,是否小于原先走到该层楼所需步数(因为有多种方式可以走到某层楼,我们要找出其中所需步数最小的那种),如果小于就替换掉原先走到该层所需的步数。具体来说,每层楼有两种可能,上楼或下楼,因此可以形成一个以 a 楼为根的二叉树,因此只需一个 for 循环遍历某个父节点的两个子节点,之后递归就行。这题利用 dfs 解决,编程实现比较简单。
2024-01-26 10:45:58
655
原创 【CCF】Z字形扫描
1)当元素个数为偶数时,要输出的数组元素从上一条斜边的末端变换到下一条斜边的始端,y(即纵坐标)保持不变,++x(即横坐标);1)当元素个数为偶数时,要输出的数组元素从上一条斜边的末端变换到下一条斜边的始端,x(即横坐标)保持不变,++y(即纵坐标);当times(即当前斜线上元素的个数)%2 == 0时,说明为偶数,此时dx = 1,dy = -1,符合上面的规律。(3)斜线上元素个数为偶数时,输出元素的方向应向左下角移动,位移量为dx = 1,dy = -1。(2)斜线上元素个数从1到n,再从n到1。
2023-10-23 21:25:44
526
原创 【LeetCode】300.最长递增子序列
那么dp[ 6 ]=6,但是计算dp[ 5 ]时,由于6、7、9都比4大,因此只考虑了dp[ 5 ]=max(dp[ 5 ],dp[ 1 ]+1),而dp[ 1 ]=2,故dp[ 5 ]=3;那么在示例1中,dp[ 0 ]=1;,dp[ i ]的值可以这么确定:找到ai之前比它小的数ak,dp[ i ]=dp[ k ]+1,最后为了使dp[i]最大,就必须使dp[ k ]最大,因此要在ai之前的数里找到最大的dp[ k ],由此就得到了dp[ i ]。元素:1,3,6,7,9,4,10,5,6。
2023-07-25 14:41:20
192
原创 01背包、完全背包问题几种变式总结,以及多重背包、组合背包模板
装满背包的方法(排列、组合);最少硬币、最大价值;二维背包;多重背包模板及其二进制优化;组合背包模板
2023-07-22 12:04:32
1425
空空如也
vector比数组更快吗?是的话为什么呢?
2023-07-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人