加载中...

摘要: 第六章 贪心二 排序不等式 排队打水 有 n 个人排队到 11 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小? 输入格式 第一行包含整数 n。 第二行包含 n 个整数,其中第 i 个整数表示第 i 个人装满水桶所花费的时间 ti。 阅读全文
posted @ 2023-03-15 14:53 Chenjq12 阅读(38) 评论(0) 推荐(0)
摘要: 第六章 贪心一 区间问题 区间选点 给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N,表示区间数。 接下来 N 行,每行包含两个整数 ai,bi,表示一个区间 阅读全文
posted @ 2023-03-15 14:50 Chenjq12 阅读(35) 评论(0) 推荐(0)
摘要: 第五章 动态规划三 数位统计dp 计数问题 给定两个整数 a 和 b,求 a 和 b 之间的所有数字中 0∼9 的出现次数。 例如,a=1024,b=1032,则 a 和 b 之间共有 9 个数如下: 1024 1025 1026 1027 1028 1029 1030 1031 1032 其中 0 阅读全文
posted @ 2023-03-15 14:40 Chenjq12 阅读(42) 评论(0) 推荐(0)
摘要: 第五章 动态规划二 线性DP 状态转移方程呈现出一种线性的递推形式的DP,我们将其称为线性DP。 数字三角形 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 阅读全文
posted @ 2023-03-15 14:33 Chenjq12 阅读(41) 评论(0) 推荐(0)
摘要: 动态规划 从两个角度进行讲解 常用的DP模型 背包问题 DP的不同类型 线性DP 区间DP 状态压缩DP 树形DP 计数类DP 数位统计DP DP问题,通常从2方面来思考:状态表示和状态计算 状态表示 从2方面考虑 集合(某一个状态表示的是哪一种集合) 属性(这个状态存的是集合的什么属性) 一般属性 阅读全文
posted @ 2023-03-15 14:18 Chenjq12 阅读(39) 评论(0) 推荐(0)
摘要: 问题 Alice 有一棵 n 个节点的树,节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges 表示,其中 edges[i] = [ai, bi] ,表示树中节点 ai 和 bi 之间有一条边。 Alice 想要 Bob 找到这棵树的根。她允许 Bob 对这棵树进 阅读全文
posted @ 2023-03-15 12:29 Chenjq12 阅读(36) 评论(0) 推荐(0)
摘要: Ubuntu18.04+CUDA10.0+Anaconda3Pytorch1.2+Pycharm配置深度学习环境 NVIDIA显卡驱动安装 终端输入 ubuntu-drivers devices 最后有recommended的就是推荐的安装,这里需要注意的一点是,显卡驱动版本必须和后续要安装的cud 阅读全文
posted @ 2023-03-11 16:52 Chenjq12 阅读(148) 评论(0) 推荐(0)
摘要: Uncertainties in Planning 直到目前为止,我们做的规划都是假设没有不确定性的 认为机器人的执行是完美的 机器人对于自身的状态的估计是完全正确的 而在实际应用中,执行和状态估计都不是完美的 执行的不确定性:打滑,路面崎岖,风的影响,空气阻力,控制误差等等 状态估计的不确定性:传 阅读全文
posted @ 2023-03-07 20:08 Chenjq12 阅读(165) 评论(0) 推荐(0)
摘要: 问题 给你一个正整数数组 nums 。 如果数组 nums 的子集中的元素乘积是一个 无平方因子数 ,则认为该子集是一个 无平方 子集。 无平方因子数 是无法被除 1 之外任何平方数整除的数字。 返回数组 nums 中 无平方 且 非空 的子集数目。因为答案可能很大,返回对 109 + 7 取余的结 阅读全文
posted @ 2023-02-20 19:25 Chenjq12 阅读(102) 评论(0) 推荐(0)
摘要: 问题提出 存在的问题 基于minimum snap生成的轨迹,我们控制的是waypoint,但是在轨迹生成的时候可能出现“overshoot”的现象,产生碰撞。 解决思路 在障碍物上加”推力“ 在可通行区域加约束 通常将第一种情况变成【软约束】的优化问题,将第二种情况变成【硬约束】的优化问题 硬/软 阅读全文
posted @ 2023-02-18 00:58 Chenjq12 阅读(446) 评论(0) 推荐(0)
摘要: 轨迹生成/优化 寻找一条路径,可以不考虑动力学约束,也可以考虑动力学约束,然后将路径所在的低维空间转到机器人运动的状态空间,称为轨迹生成 生成一条【安全】、【动力学可行】、【光滑】的轨迹是motion planning的终极目标 为什么要求轨迹平滑? 便于机器人移动 速度/更高阶的动力学参数(加速度 阅读全文
posted @ 2023-02-16 01:02 Chenjq12 阅读(909) 评论(0) 推荐(0)
摘要: 容斥原理 $C_{n}^{1} + C_{n}^{2} + \dots + C_{n}^{n} = 2 ^ {n}$,从n个数中选任意多个数的方案数 证明,$\left | S_{1}\cup S_{2} \dots \cup S_{n} \right | = \sum_{i} \left | S_ 阅读全文
posted @ 2023-02-13 00:01 Chenjq12 阅读(37) 评论(0) 推荐(0)
摘要: 高斯消元法 高斯消元能在O($n^3$)的时间复杂度内求解n个方程,n个未知数的多元线性方程组,即 $$ a_{11}x_{1}+a_{12}x_{2}+a_{13}x_{3}+\dots +a_{1n}x_{n} = b_{1}\a_{21}x_{1}+a_{22}x_{2}+a_{23}x_{3 阅读全文
posted @ 2023-02-12 23:58 Chenjq12 阅读(297) 评论(0) 推荐(0)
摘要: 欧拉函数 什么是欧拉函数 欧拉函数$\phi(n)$:1 - n 中与 n 互质的数的个数 例如:$\phi(6) = 2$,1 - 6 中与 6 互质的数为 1、5 a,b互质就是gcd(a,b) = 1 如何求解欧拉函数 对于一个数N,可以分解质因数为$N = P_{1}^{k_{1}} \ti 阅读全文
posted @ 2023-02-12 23:48 Chenjq12 阅读(80) 评论(0) 推荐(0)
摘要: 质数 对所有的大于1的自然数字,定义了【质数/合数】这一概念。对于所有小于等于1的自然数,没有这个概念,它们既不是质数也不是合数。 质数的定义:对于大于1的自然数,如果这个数的约数只包含1和它本身,则这个数被称为质数,或者素数 质数的判定 试除法O(sqrt(n))对于一个数n,从2枚举到n-1,若 阅读全文
posted @ 2023-02-12 23:46 Chenjq12 阅读(112) 评论(0) 推荐(0)
摘要: 最小生成树 最小生成树:由n个节点,和n-1条边构成的无向连通图被称为G的一颗生成树,在G的所有生成树中,边的权值之和最小的生成树,被称为G的最小生成树。(换句话说就是用最小的代价把n个点都连起来) 有两种常用算法: Prim算法(普利姆)朴素版Prim(时间复杂度O(n2),适用于稠密图)堆优化版 阅读全文
posted @ 2023-02-12 23:37 Chenjq12 阅读(152) 评论(0) 推荐(0)
摘要: 最短路问题 常见的最短路问题可以分成两大类 单源最短路 多源汇最短路在最短路问题中,源点 也就是 起点,汇点 也就是 终点 单源最短路 单源最短路,指的是求一个点,到其他所有点的最短距离。(起点是固定的,单一的) 单元最短路问题又分成两种(n:点数,m:边数): 所有边权都是正数 朴素Dijkstr 阅读全文
posted @ 2023-02-12 23:28 Chenjq12 阅读(95) 评论(0) 推荐(0)
摘要: 普通 DFS 与 BFS 概述 DFS:深度优先搜索(Depth-First-Search) BFS:宽度优先搜索(Breadth-First-Search) DFS和BFS的对比 DFS使用栈(stack)来实现,BFS使用队列(queue)来实现 DFS所需要的空间是树的高度h,而BFS需要的空 阅读全文
posted @ 2023-02-12 23:16 Chenjq12 阅读(216) 评论(0) 推荐(0)
摘要: 哈希表 哈希表的作用:把一个比较大的空间,映射到一个比较小的空间。 一般做哈希运算时,取一个质数作为模,会使得冲突的概率降低 哈希表的存储 冲突解决方法 开放寻址法 拉链法 拉链法代码模板 Acwing - 840 模拟散列表 const int N = 100003; int h[N], e[N] 阅读全文
posted @ 2023-02-12 23:12 Chenjq12 阅读(15) 评论(0) 推荐(0)
摘要: Trie树(字典树) Trie树,又称字典树,是用来高效存储和查找字符串集合的一种数据结构查找时,可以高效的查找某个字符串是否在Trie树中出现过,并且可以查找出现了多少次 其逻辑结构如下:假设我们需要维护一个字符串集合,它需要支持两种操作 向集合插入一个字符串x 查询一个字符串在集合中出现了多少次 阅读全文
posted @ 2023-02-12 23:09 Chenjq12 阅读(32) 评论(0) 推荐(0)
摘要: 链表 用数组模拟链表(链式向前星) 分类: 单链表,最主要用单链表写邻接表,用邻接表存储图或者树 双链表,优化某些问题 对于单链表,开2个数组val[N],nxt[N],其中val用来存每个链表节点的值,另1个数组nxt用来存每个节点的next指针。 用数组模拟静态单链表代码 int N = 1e5 阅读全文
posted @ 2023-02-12 22:58 Chenjq12 阅读(42) 评论(0) 推荐(0)
摘要: 双指针 类型: 2个指针指向不同的序列,比如归并排序 2个指针指向同一个序列,用的比较多,比如快速排序 通用模板 俗称的枚举右端点,遍历左端点 for (int i = 0, j = 0; i < n; i++) { while (j < i && check(i,j)) j++; // 每道题的具 阅读全文
posted @ 2023-02-12 22:54 Chenjq12 阅读(38) 评论(0) 推荐(0)
摘要: 高精度 A + B:两个大整数相加 A - B:两个大整数相减 A × b:一个大整数乘一个小整数 A ÷ b:一个大整数除以一个小整数 大整数的存储:用一个数组来存大整数的每一位上的数。 这里将大整数的个位,存到数组的第一位,大整数的最高位,存到数组的最后一位,即采用小端序 高精度加法 高精度加法 阅读全文
posted @ 2023-02-12 22:49 Chenjq12 阅读(39) 评论(0) 推荐(0)
摘要: 第一章 基础算法一 快速排序 quick_sort(int q[], int l, int r) q是待排序数组,l是待排序区间的左边界,r是右边界 确定分界点x,可以取左边界的值q[l],或右边界的值q[r],或者中间位置的值q[(l + r)>>1] 根据基准值,调整区间,使得左半边区间的值全都 阅读全文
posted @ 2023-02-12 22:42 Chenjq12 阅读(60) 评论(0) 推荐(0)
摘要: 题目 给你两个字符串 s 和 t 。 你可以从字符串 t 中删除任意数目的字符。 如果没有从字符串 t 中删除字符,那么得分为 0 ,否则: 令 left 为删除字符中的最小下标。 令 right 为删除字符中的最大下标。 字符串的得分为 right - left + 1 。 请你返回使 t 成为 阅读全文
posted @ 2023-02-12 21:48 Chenjq12 阅读(342) 评论(0) 推荐(0)
摘要: Kinodynamc planning 满足动力学约束的路径规划 State Lattice Planning 之前两节课的运动规划都是不考虑运动约束将机器人看成一个质点,而实际问题则是需要考虑运动学约束的 建立运动学方程 ${{\dot{s} = f(s,u)}}$ 已知初始状态 $s_{0}$ 阅读全文
posted @ 2023-02-11 11:03 Chenjq12 阅读(286) 评论(0) 推荐(1)
摘要: 基于图搜索的路径规划 配置空间 维度等于机器人的自由度,可以理解为一个点可以表示一个机器人的位姿。例如小车4自由度(x,y,z,θ)。在配置空间中,机器人表示为点。 在配置空间做规划 在3维空间中,要做碰撞检测,很麻烦。所以在配置空间中做规划,要对障碍物按照机器人的尺寸做膨胀,机器人看成一个点。 基 阅读全文
posted @ 2023-02-11 10:59 Chenjq12 阅读(183) 评论(0) 推荐(0)