
算法
文章平均质量分 57
_return_
东北石油大学的一名普通的大学生
展开
-
大整数加法
原理就是模仿手算如何实现加法的方式,同时对于其存储采用逆序存储,即最左边是低位,而右边是高位,这样方便进位处理代码#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<int>add(vector<int>& A, vector<int>& B) {//A与B之间都是逆序存储的,方便进位扩充空间原创 2021-11-10 12:43:22 · 228 阅读 · 0 评论 -
数字三角形解法
数字三角形题目试设计一个算法,计算从三角形的顶到底的一条路径,使经过的数字总和最大,其中其路径的走法只能是要么向正下方,要么向下右斜方。其输入为第一行表示是数字三角形的行数,接下来的N行表示数字三角形中各行的数字。而输出为其最大数字总和以及其路径。例子如下:输入:573 88 1 02 7 4 44 5 2 6 5输出:307 3 8 7 5思路自底向上的方法,比如这个数据数组为data[N][N],则代码如下#include<stdio.h>#include原创 2021-05-18 19:40:41 · 500 阅读 · 1 评论 -
贪心算法解装箱问题
贪心算法解装箱问题问题描述有N个物品,其重量大小为W,其取值范围为0<W<=V,有一批容量为V的箱子,问最少需要多少个箱子可以把这些物品装上。思路利用回溯和减枝是肯定可以的,毕竟是一种穷举。也可以利用动态规划方法来解决。本题主要讨论贪心算法的解决方法,其主要思想是每次选择都选择最优的,即让箱子每次都装能让箱子承受的住的最大重量,若遍历所有物品都没有能让箱子承受的住的,则换下一个箱子来装。其主要思想就跟有一张整的纸币,要将其换成10元,5元,1元的纸币,要求是换出的纸币的数量最少一样,那肯原创 2021-05-11 20:45:29 · 1482 阅读 · 0 评论 -
01背包问题详解
01背包问题问题描述:一些物体(不可分割),这些物体有其对应的价值value和重量weight,现在有一个容量为c的背包,需要尽可能的装入物体,使其总价值最大。思路思路:根据数学建模来说,这是个典型的整数规划问题:max=∑1nvixi,xi=0或1max=\sum_1^nv_ix_i,x_i=0或1max=∑1nvixi,xi=0或1∑1nwixi<=c,xi=0或1\sum_1^nw_ix_i<=c,x_i=0或1∑1nwixi<=c,xi=0或1利用lin原创 2021-04-29 21:38:57 · 1290 阅读 · 1 评论