摘要: 本文综合了几个相关的维基百科,加了点自己的理解,从比较基础的向量投影和叉积讲起,推导出罗德里格斯旋转公式。公式比较繁杂,如有错误,欢迎评论区指出。 对于向量的三维旋转问题,给定旋转轴和旋转角度,用罗德里格斯(Rodrigues)旋转公式可以得出旋转后的向量。另外,罗德里格斯旋转公式可以用旋转矩阵表示 阅读全文
posted @ 2020-02-19 23:03 wtyuan 阅读(18801) 评论(8) 推荐(4) 编辑
摘要: "POJ1182" 题目 有三类动物A、B、C,三类动物的食物链构成环形,A吃B,B吃C,C吃A。给定N个动物,编号1到N(1由于合并操作每次把三种情况都考虑到了,所以判断时只需要对一种情况判断即可。 代码 Result : 1196kB, 297ms 参考: "1] [《挑战程序设计竞赛》(第2版 阅读全文
posted @ 2020-01-11 10:59 wtyuan 阅读(146) 评论(0) 推荐(0) 编辑
摘要: "POJ2488" 题目 骑士按照下图所示的走法对棋盘进行巡逻,每个格子只允许巡逻一次,且必须巡逻所有格子。给定棋盘的行数p和列数q,输出一条骑士巡逻路径,若不存在这样一条路径,则输出impossible。 图1 骑士的8种走法 骑士巡逻问题的简化版本,是哈密顿路径问题的特殊形式,但是是线性时间内可 阅读全文
posted @ 2019-12-27 12:26 wtyuan 阅读(665) 评论(0) 推荐(0) 编辑
摘要: "POJ1276" 题目 多重背包模板题,给定背包容量$V$,给定$N$种物品,每种物品的个数$n_i$、体积$v_i$和重量$w_i$已知,求背包能装下的物品的最大重量。对应本题就是,给定提款的金额cash,给定$N$种钱币,每种钱币的个数为$n_i$、面额$D_i$已知,求能兑换的钱币的最大值。 阅读全文
posted @ 2019-12-25 23:24 wtyuan 阅读(566) 评论(0) 推荐(1) 编辑
摘要: "POJ1837" 题目 大意是有一个“特殊”的天平,天平在不同位置分布着C($2\le C\le 20$)个挂钩,挂钩的位置坐标从 15到+15( 代表左臂,+代表右臂)。你有G($2\le G\le 20$)个砝码,砝码质量从1到25。问给定C个挂钩的位置坐标,G个砝码的质量,你有多少种悬挂方式 阅读全文
posted @ 2019-12-25 15:47 wtyuan 阅读(211) 评论(0) 推荐(1) 编辑
摘要: Dijkstra算法只能求取边的权重为非负的图的最短路径,而Bellman Ford算法可以求取边的权重为负的图的最短路径(但Bellman Ford算法在图中存在负环的情况下,最短路径是不存在的(负无穷))。 算法原理 Dijkstra算法本质上是一种贪心算法,1959年,Edsger Dijks 阅读全文
posted @ 2019-12-22 18:05 wtyuan 阅读(2280) 评论(1) 推荐(2) 编辑
摘要: 数据结构书籍与算法书(包括算法导论、算法设计)通常将优先队列(Priority Queue)与堆(Heap)放在一起讲,算法导论上先讲堆这个特殊的数据结构,后讲堆的两个应用,堆排序与优先队列。算法设计这本书先讲优先队列是个什么样的数据结构,有什么性质,为什么需要优先队列这种数据结构,然后讲实现优先队 阅读全文
posted @ 2019-12-21 22:54 wtyuan 阅读(618) 评论(0) 推荐(0) 编辑