- 博客(6)
- 收藏
- 关注
原创 01背包、完全背包、多重背包详解
目录一、01背包问题二、完全背包问题三、多重背包一、01背包问题问题:有n件物品和一个容量是m的背包。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。解答:问题中每个物品只有选与不选两种状态。动态规划的状态转移方程:dp[i][j] = max(dp[i-1][j], dp[i][j-vi]+wi) , d[i][j]表示只看前i个物品且总体积是j时,最大的价值。//v是物品的体积,w是价
2020-10-08 21:26:29 2608
原创 C++ priority_queue的使用方式及自定类型比较
一、模板参数优先队列有三个参数,其声明形式为priority_queue< type, container, function >这三个参数,后面两个在一些情况下可以省略,第一个不可以。其中:type:数据类型; container:实现优先队列的底层容器; function:元素之间的比较方式二、int类型的数据1. 第三参数,有:less<int> //表示大根堆greater<int> //表示...
2020-10-04 21:01:35 733 1
原创 粒子群算法解决连续的函数问题
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<cstdlib>#include<ctime>#include<random>using namespace std;//----------参数设置------------#define Max 200;constexpr auto N = 3;//种群大小constexpr auto T = 200;//迭代次数dou.
2020-10-01 21:09:22 476
原创 二叉树的各种遍历方式实现
节点数据结构struct TreeNode {public: int val; TreeNode* left; TreeNode* right; TreeNode(int v) :val(v), left(nullptr), right(nullptr) {}};一、递归遍历void order(TreeNode* root) { if (root != nullptr) { //先序访问位置 order(root->left); //中序访问位置 or
2020-10-01 21:00:54 113
原创 C++实现完整红黑树(包括迭代器的实现)
#define _CRT_SECURE_NO_WARNINGS#include <iostream>using namespace std;//定义红黑树节点颜色的类型typedef bool RB_COLOR;#define RB_BLACK true#define RB_RED false#define bro(x) (((x)->ftr->lc == (x))?((x)->ftr->rc):((x)->ftr->lc))//定义红黑.
2020-10-01 20:51:58 324
转载 C++11常用新特性
本文装载自:https://blog.csdn.net/jiange_zh/article/details/793564171. nullptrnullptr 出现的目的是为了替代 NULL。在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0。C++ 不允许直接将 void * 隐式转换到其他类型,但如果 NULL 被定义为 ((void*)0),那么当编译c
2020-07-30 16:22:30 188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人